6. Руководство пользователя ПО

6.1. Установка агента на сервер базы данных

В данном пункте мы рассмотрим порядок установки агента на сервер, где находится база данных ПО. Этого будет достаточно для демонстрации работоспособности ПО.

Чтобы добавить новый инстанс:

  • нажмите на созданное в предыдущем пункте рабочее пространство. Появится страница Instances (“Инстансы”);

  • нажмите кнопку “Add instance” (“Добавить инстанс”) (обозначено цифрой 1 на рисунке ниже).

6.1.1. Действие 1: выбор типа инстанса PostgreSQL

image9

Во всплывающем окне выберите PostgreSQL (обозначено цифрой 2 на рисунке выше) и нажмите кнопку “Next” (“Далее”) (обозначено цифрой 3 на рисунке выше), чтобы продолжить.

6.1.2. Действие 2: введение параметров сервера

image10

Заполните указанные поля следующими значениями:

  1. IP (обозначено цифрой 1 на рисунке выше) - IP адрес сервера базы данных ПО;

  2. Port (обозначено цифрой 2 на рисунке выше) - 5432;

  3. DB name (обозначено цифрой 3 на рисунке выше) - оставьте значение по умолчанию (postgres).

Нажмите кнопку “Next” (“Далее”) (обозначено цифрой 4 на рисунке выше), чтобы продолжить.

6.1.3. Действие 3: установка агента

image11

Шаг 1. В раскрывающемся листе (обозначенным цифрой 1) выберете, например, Astra Linux.

Появится лист выбора версии операционной системы:

image12

Шаг 2. В раскрывающемся листе (обозначенным цифрой 1) выберете установленную версию Astra Linux.

Появятся дополнительные поля:

image13

Шаг 3. Далее:

  • cкопируйте команды, нажав на кнопку, обозначенную цифрой 1;

  • зайдите на сервер базы данных ПО, на котором будет установлен агент, как пользователь из группы sudo;

  • вставьте скопированные команды в интерфейс командной строки и запустите их в терминале.

Эти команды нужны для конфигурации репозитория Разработчика и установки необходимого пакета агента.

Шаг 4. После завершения установки:

  • скопируйте команду, нажав на кнопку, обозначенную цифрой 2;

  • вставьте скопированную команду в интерфейс командной строки и запустите ее в терминале. Команда нужна для конфигурации установленного агента. Вам будет предложено ввести метаданные агента из пользовательского интерфейса;

  • скопируйте строку, нажав на кнопку, обозначенную цифрой 3;

  • вставьте скопированную команду в терминале и нажмите клавишу [Enter]:

image14

Шаг 4. После завершения:

  • скопируйте команды, нажав на кнопку, обозначенную цифрой 4;

  • вставьте скопированные команды в интерфейс командной строки и запустите их в терминале. Команды необходимы для перезагрузки системных ресурсов и старта агента.

Шаг 5. После успешного завершения установки нажмите кнопку “Next” (“Далее”) (обозначено цифрой 5 на рисунке выше) на странице пользовательского интерфейса, чтобы продолжить.

6.1.4. Действие 4: настройка агента

Шаг 1. Скопируйте команду из пользовательского интерфейса (цифра 1 на рисунке ниже) и вставьте ее в интерфейс командной строки на сервере базы данных ПО, открытый с предыдущего шага:

image15

Шаг 2. Вставьте команду в интерфейс командной строки на сервере базы данных ПО и нажмите Enter (Ввод):

image16

Шаг 3. Вам нужно будет ввести следующие четыре параметра. После каждого ввода нажимайте Enter (Ввод).

Шаг 4. Введите “proceed”:

image17

Шаг 5. ПО создаёт пользователя pma_user для администрирования инстанса PostgreSQL. В этом шаге необходимо определить и ввести пароль для этого пользователя, который будет использоваться для подключения к PostgreSQL. Пароль сохраняется только на этом сервере и невидим в ПО. Агент использует этого пользователя для сбора метрик и выполнения всех необходимых действий по управлению инстанса PostgreSQL:

image18

Шаг 6. Введите postgres как имя суперпользователя инстанса PostgreSQL. Информация необходима только один раз для создания пользователя платформы pma_user в инстансе PostgreSQL:

image19

Шаг 7. Введите пароль суперпользователя postgres, введенного на предыдущем шаге, для подключения к инстансу PostgreSQL. Пароль будет использоваться только один раз для создания пользователя платформы pma_user в инстансе PostgreSQL:

image20

Проигнорируйте выведенную ошибку. Она указывает на то, что невозможно подключиться к инстансу PostgreSQL через localhost.

Предупреждение

  • Данные суперпользователя нужны только один раз для полной настройки и перечитывания сервером файлов конфигурации после завершения установки;

  • Учетные данные суперпользователя не сохраняются.

После завершения установки в интерфейсе командной строки нажмите кнопку “Next” (“Далее”) (обозначенной цифрой 1 на рисунке ниже), чтобы продолжить:

image21

6.1.5. Действие 5: завершение установки

image22

Шаг 1. Проверьте найденные данные инстанса и нажмите кнопку “Finish” (“Завершение”) (цифра 1 на рисунке выше).

Новый инстанс появится в списке:

width=“6.5in” height=“1.1388888888888888in”

Шаг 2. Сделайте перерыв на пять - десять минут, платформа соберет информацию о вашем инстансе.

Шаг 3. Нажмите на него, чтобы просмотреть завершенную установку и начать работу с инстансом PostgreSQL .

6.2. Оповещения (Alerts)

6.2.1. Список оповещений

_images/image74.png

Страница оповещений содержит список открытых оповещений (фильтр по умолчанию). Давайте рассмотрим важные параметры и функции на этой странице в соответствии с нумерацией на рисунке выше.

Помимо столбца статуса, есть также цветовая кодировка оповещений (цифра 1 на рисунке выше):

  • Красный - Открыто;

  • Желтый - Закрыто - подтверждено вручную;

  • Зеленый - Закрыто - восстановлено автоматически.

Меню (цифра 2 на рисунке выше) содержит следующие две опции:

  • Опция («Открыть») переводит вас на страницу описания оповещения;

  • Опция «Подтвердить» открывает окно с возможностью написать решение для оповещения и, таким образом, закрыть оповещения вручную. Подробно рассматривается в описании страницы описания оповещения. Этот параметр доступен только пользователю-владельцу и пользователю-администратору, оповещения также должно быть открыто.

Список можно отфильтровать (цифра 3 на рисунке выше) с помощью четырех вариантов, показанных ниже:

_images/image21.png
  1. по доступному пользователю рабочему пространству;

  2. по степени критичности оповещения; можно выбрать один из четырех вариантов:

    • WARNING (ПРЕДУПРЕЖДЕНИЕ);

    • PROBLEM (ПРОБЛЕМА);

    • UNDEFINED (НЕОПРЕДЕЛЕННО);

    • ОК;

  3. по статусу можно выбрать один из трех вариантов:

    • Open (Открыто);

    • Closed – Manually Acknowledged (Закрыто - подтверждено вручную);

    • Closed – Auto Recovered (Закрыто - автоматически восстановлено);

  4. по временным рамкам можно выбрать один из четырех вариантов:

    • Last 7 days (Последние 7 дней);

    • Last 30 days (Последние 30 дней);

    • Last 6 months (Последние 6 месяцев);

    • Last 12 months (Последние 12 месяцев).

6.2.2. Описание оповещения

На странице описания оповещения есть две вкладки. Давайте рассмотрим их.

6.2.2.1. Обзор оповещения (Overview)

_images/image100.png

Кнопка («Подтвердить») (цифра 1 на рисунке выше) открывает окно для описания использованного решение проблемы, о котором было создано оповещение, или причину закрытия для закрытия оповещение вручную.

Примечание

Эта опция доступна только для пользователя-владельца и пользователя-администратора. Оповещение должно быть открыто на данный момент.

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

_images/image3.png
  • сначала напишите решение этого оповещения (цифра 1 на рисунке выше);

  • затем нажмите кнопку “Acknowledge” («Подтвердить»), чтобы подтвердить решение или причину закрытия и закрыть оповещение (цифра 2 на рисунке выше).

В разделе “Acknowledge Information” («Информации о решение») появится описание причины закрытия оповещения вручную.

В разделе “EVENTS LOG” («ЖУРНАЛ СОБЫТИЙ») отображаются события, связанные с данным оповещением; например когда оповещение открывается и закрывается.

6.2.2.2. Связанные оповещения

_images/image35.png

На вкладке («Связанные оповещения») вы можете увидеть другие оповещения, связанные с выбранным оповещением, узнать дополнительную информацию и решить, как поступить с данным оповещением с помощью связанных оповещений.

Рассмотрим функциональные возможности этой вкладки согласно нумерации на рисунке выше:

  1. сортировка связанных предупреждений по ВРЕМЕНИ (BY TIME), ИНСТАНСУ (BY INSTANCE) и РАБОЧЕМУ ПРОСТРАНСТВУ (BY WORKSPACE);

  2. меню. Меню содержит возможность открыть страницу описания оповещения, выбранного в списке;

  3. кнопка “Acknowledge” («Подтвердить»). Кнопка имеет тот же функционал, что и кнопка на вкладке “Overview” («Обзор оповещения»).

6.3. Добавление инстанса PostgreSQL

Чтобы добавить новый инстанс, перейдите на страницу «Инстансы» и нажмите кнопку «Add instance» («Добавить инстанс») (см. цифру 1):

image1

6.3.1. Действие 1: выбор типа инстанса PostgreSQL

_images/image101.png

Во всплывающем окне выберите PostgreSQL (обозначено цифрой 2 на рисунке выше) и нажмите кнопку “Next” (“Далее”) (обозначено цифрой 3 на рисунке выше), чтобы продолжить.

6.3.2. Действие 2: введение параметров сервера

_images/image94.png

Заполните указанные поля следующими значениями:

  1. IP (обозначено цифрой 1 на рисунке выше) - IP адрес сервера базы данных ПО;

  2. Port (обозначено цифрой 2 на рисунке выше) - 5432;

  3. DB name (обозначено цифрой 3 на рисунке выше) - оставьте значение по умолчанию (postgres).

Нажмите кнопку “Next” (“Далее”) (обозначено цифрой 4 на рисунке выше), чтобы продолжить.

6.3.3. Действие 3: установка агента

_images/image90.png

Шаг 1. В раскрывающемся листе (обозначенным цифрой 1) выберете, например, Astra Linux. Появится лист выбора версии операционной системы:

_images/image40.png

Шаг 2. В раскрывающемся листе (обозначенным цифрой 1) выберете установленную версию Astra Linux. Появятся дополнительные поля:

_images/image79.png

Шаг 3:

  • скопируйте команды, нажав на кнопку, обозначенную цифрой 1;

  • зайдите на сервер базы данных ПО, на котором будет установлен агент, как пользователь из группы sudo;

  • вставьте скопированные команды в интерфейс командной строки и запустите их в терминале.

Эти команды нужны для конфигурации репозитория Разработчика и установки необходимого пакета агента.

Шаг 4. После завершения установки:

  • скопируйте команду, нажав на кнопку, обозначенную цифрой 2;

  • вставьте скопированную команду в интерфейс командной строки и запустите ее в терминале. Команда нужна для конфигурации установленного агента. Вам будет предложено ввести метаданные агента из пользовательского интерфейса;

  • скопируйте строку, нажав на кнопку, обозначенную цифрой 3, вставьте скопированную команду в терминале и нажмите клавишу Enter:

_images/image103.png

Шаг 5. После завершения:

  • скопируйте команды, нажав на кнопку, обозначенную цифрой 4;

  • вставьте скопированные команды в интерфейс командной строки и запустите их в терминале.

Команды необходимы для перезагрузки системных ресурсов и старта агента.

Шаг 6. После успешного завершения установки нажмите кнопку “Next” (“Далее”) (обозначено цифрой 5 на рисунке выше) на странице пользовательского интерфейса, чтобы продолжить.

6.3.4. Действие 4: настройка агента

Скопируйте команду из пользовательского интерфейса (цифра 1 на рисунке ниже) и вставьте ее в интерфейс командной строки на сервере базы данных ПО, открытый с предыдущего шага:

_images/image59.png

Вставьте команду в интерфейс командной строки на сервере базы данных ПО и нажмите Enter (Ввод):

_images/image115.png

Вам нужно будет ввести следующие четыре параметра. После каждого ввода нажимайте Enter (Ввод).

Шаг 1. Введите “proceed”:

_images/image78.png

Шаг 2. ПО создаёт пользователя pma_user для администрирования инстанса PostgreSQL. В этом шаге необходимо определить и ввести пароль для этого пользователя, который будет использоваться для подключения к PostgreSQL. Пароль сохраняется только на этом сервере и невидим в ПО. Агент использует этого пользователя для сбора метрик и выполнения всех необходимых действий по управлению инстанса PostgreSQL:

_images/image110.png

Шаг 3. Введите postgres как имя суперпользователя инстанса PostgreSQL. Информация необходима только один раз для создания пользователя платформы pma_user в инстансе PostgreSQL:

_images/image191.png

Шаг 4. Введите пароль суперпользователя postgres, введенного на предыдущем шаге, для подключения к инстансу PostgreSQL (пароль создается действием 12 в пункте 3.2.1.3). Пароль будет использоваться только один раз для создания пользователя платформы pma_user в инстансе PostgreSQL:

image2

Проигнорируйте выведенную ошибку. Она указывает на то, что невозможно подключиться к инстансу PostgreSQL через localhost.

Предупреждение

  • Данные суперпользователя нужны только один раз для полной настройки и перечитывания сервером файлов конфигурации после завершения установки;

  • Учетные данные суперпользователя не сохраняются.

После завершения установки в интерфейсе командной строки нажмите кнопку “Next” (“Далее”) (обозначенной цифрой 1 на рисунке ниже), чтобы продолжить.

_images/image82.png

6.3.5. Действие 5: завершение установки

_images/image69.png

Проверьте найденные данные инстанса и нажмите кнопку “Finish” (“Завершение”) (цифра 1 на рисунке выше).

Новый инстанс появится в списке.

_images/image201.png

Сделайте перерыв на пять - десять минут, платформа соберет информацию о вашем инстансе.

Нажмите на него, чтобы просмотреть завершенную установку и начать работу с инстансом PostgreSQL.

6.4. Работа с Инстансами

6.4.1. Список инстансов

_images/image134.png

Страница «Инстансы» содержит список инстансов PostgreSQL. Мы не будем здесь описывать кнопку “Add instance” (“Добавить инстанс”), поскольку она описана в разделе “Добавление нового инстанса”. Давайте обсудим функции на этой странице в соответствии с нумерацией на изображении выше.

Цветовой индикатор статуса инстанса (цифра 1 на рисунке выше):

  • Красная линия указывает на то, что у инстанса есть оповещение о проблеме.

  • Желтая линия указывает на то, что у инстанса есть предупредительное оповещение.

  • Зеленая линия означает, что у экземпляра нет оповещений.

При нажатии на кнопку с тремя точками (цифра 2 на рисунке выше) открывается меню со следующими пятью опциями:

  • При выборе “Open” (“Открыть”) открывается страница “Обзор инстанса” (“Instance overivew”).

  • Выбор “Test connection” (“Проверить соединение”) позволяет вам проверить, может ли платформа подключиться к вашему инстансу. Если есть проблемы с подключением, могут отображаться разные окна.

  • Переместите выбранный инстанс в другое рабочее пространство, выбрав “Move to another workspace” (“Переместить в другое рабочее пространство”).

  • Вы можете добавить метки или описания к выбранному инстансу (например, “Primary” или “To be deleted”), выбрав “Add label” (“Добавить метку”), что поможет вам идентифицировать инстанс.

  • Выберите “Delete” (“Удалить”), чтобы удалить инстанс.

6.4.1.1. Перемещение в другое рабочее пространство

_images/image29.png

Вы можете переместить свой инстанс в другое рабочее пространство. Нажмите кнопку “Move to another workspace” (“Переместить в другое рабочее пространство”) в контекстном меню, и появится всплывающее окно “Move to another workspace” (“Переместить в другое рабочее пространство”). Выберите конкретное рабочее пространство (обозначено цифрой 1 на рисунке выше). Затем нажмите кнопку “Move” (“Переместить”), чтобы переместить инстанс в новую рабочую область (обозначенную цифрой 2 на рисунке).

6.4.1.2. Добавление меток к инстансу

_images/image44.png

Когда вы выбираете опцию “Add label” (“Добавить метку”), появляется окно “Add label” (“Добавить метку”). В соответствующем поле введите метку, которая каким-либо образом однозначно идентифицирует этот экземпляр (обозначена цифрой 1 на рисунке выше). Затем нажмите кнопку “Add label” (“Добавить метку”), чтобы завершить изменение (обозначено цифрой 2 на рисунке выше).

6.4.1.3. Удаление инстанса

_images/image56.png

Когда вы выбираете опцию “Delete” (“Удалить”), появляется окно “Delete instance” (“Удалить инстанс”). В соответствующем поле напишите слово «удалить» (обозначено цифрой 1 на рисунке выше). Затем нажмите кнопку “Delete instance” (“Удалить инстанс”), чтобы удалить инстанс (обозначен цифрой 2 на рисунке выше).

6.4.1.4. Проверка соединения

Эта опция поможет проверить соединения между установленным агентом и платформой.

_images/image1141.png

Если отображается окно «CAUTION» («Предостережение»), вам следует проверить, запущен ли PostgreSQL.

Если есть проблема с учетными данными, появится окно с просьбой обновить учетные данные.

Вам необходимо выполнить следующее:

  • Введите допустимое имя базы данных в PostgreSQL (цифра 1 на рисунке выше)

  • Введите имя пользователя с правами суперпользователя. Если вы ничего не меняли в конфигурации агента, используйте имя пользователя по умолчанию, который был создан в процессе установки. (цифра 2 на рисунке выше)

  • Введите пароль для введенного вами пользователя, в который был добавлен в новый инстанс.

  • Нажмите кнопку “Check connection” (“Проверить соединение”).

6.4.2. Обзор инстанса (Overview)

На странице «Overview» «Обзор» много тайлов. Каждый тайл содержит всплывающее информационное окно.

_images/image53.png

Каждый тайл (обозначенная цифрой 1 на рисунке выше) содержит всплывающее меню со следующими двумя вариантами:

  • Info - с техническим описанием тайла.

  • Popout - всплывающее окно для отображения дополнительной информации:

_images/image102.png

Выберите временные рамки из следующих семи вариантов (обозначенных цифрой 1 на рисунке выше):

  • последние 30 минут (по умолчанию)

  • последний час

  • последние 3 часа

  • последние 8 часов

  • последние 12 часов

  • последний день

  • прошлая неделя

Если индикаторов несколько, выберите тот (и), который вы хотите отобразить, щелкнув по ним (обозначен цифрой 2 на рисунке выше).

_images/image251.png

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

_images/image93.png

Если необходимо отобразить определенное количество параметров (например, более одного диска или сетевых интерфейсов), используйте интерактивные точки для переключения между ними (цифра 1 на рисунке выше)

_images/image151.png

На тайле “Alters” (“Оповещения”) будут отображаться оповещения (см. цифру 1 на рисунке выше), возникшие для это инстанса. Если вы нажмете на одно из оповещений, вы попадете на страницу оповещения. Кнопка “View all messages” (“Просмотреть все сообщения”) (см. цифру 2 на рисунке выше) перенесет вас на страницу оповещений.

_images/image137.png

Тайл системных подсказок отображает необходимые изменения (см. цифру 1), которые необходимы для нормального функционирования платформы. Если щелкнуть по одному из них, то всплывет окошко с объяснением.

_images/image133.png

6.4.3. Конфигурации (Configurations)

Модуль «Configurations» («Конфигурации») показывает файл postgresql.conf и автоматически предлагает оптимальные значения. Посмотрим, какой функционал доступен.

_images/image46.png

Цветовое обозначение параметра.

Цветов может быть 4:

  • Белый означает значение по умолчанию.

  • Зеленый цвет означает, что параметр был изменен и вступил в силу.

  • Желтый означает, что параметр был изменен, но требуется перезагрузка.

  • Красный цвет означает, что параметр был изменен, но требуется перезапуск инстанса.

_images/image104.png

Символ предупреждения (цифра 1 на рисунке выше) будет виден только в том случае, если какой-либо параметр требует перезапуска PostgreSQL.

_images/image49.png

Столбец «RECOMMENDED VALUES» («РЕКОМЕНДУЕМЫЕ ЗНАЧЕНИЯ») (цифра 1 на рисунке выше) содержит рекомендуемые параметры для конфигурации Postgres. Предусмотрены рекомендации для 80–100 параметров, в зависимости от версии PostgreSQL. Эта кнопка дает возможность применить все наши рекомендуемые параметры.

Кнопка, выбранная цифрой 2 на рисунке выше, вставляет все существующие рекомендуемые значения в столбец текущих значений.

Кнопка, выбранная цифрой 3 на рисунке выше, вставляет определенный параметр строки в значение для текущего значения.

Эти кнопки (2 и 3) по-прежнему не вносят изменений в файл конфигурации.

_images/image39.png

Пользователь может самостоятельно ввести желаемый параметр. Просто нажмите на кнопку карандаша (цифра 1 на рисунке выше).

Есть три типа окна для изменения параметра:

_images/image45.png

Для параметра типа перечисления будет выбор с возможными опциями.

_images/image132.png

Для числовых параметров мы проверим диапазон чисел.

_images/image71.png

String parameter is free text

_images/image117.png

Каждый параметр имеет собственное описание. Вызывается при нажатии на информацию. Ниже представлен пример:

_images/image81.png

Чтобы изменения вступили в силу, вам нужно нажать “Apply” (“Применить”). После нажатия появится окно с полным списком желаемых изменений.

_images/image127.png _images/image34.png

В этом окне вы видите старое значение, новое значение и требуемая обработка для применения нового значения. Если значение ожидает перечитывания конфигурационного файла (цифра 1 на рисунке выше) - значит, оно будет применено автоматически после нажатия на “Apply and Reload Database” (“Применить и перезагрузить базу данных”) (цифра 3 на рисунке выше). В этом случае простоя не ожидается.

Если значение ожидает перезапуска инстанса (цифра 2 на рисунке выше) - нажмите кнопку “Apply and Reload Database” (“Применить и перезагрузить базу данных”) (цифра 3 на рисунке выше) , а затем перезапустите Postgres с помощью окна командной строки.

_images/image131.png

Параметры конфигурации можно фильтровать (цифра 1 на рисунке выше) и проводить по ним поиск.

Вы можете фильтровать по статусу (цифра 2 на рисунке выше):

  • «DEFAULT» («По умолчанию»)

  • «RECOMMENDED» («Рекомендуемые»)

  • «CHANGED APPLIED» («Изменено, применено»)

  • «CHANGED PENDING RELOAD» («Изменено, требуется перечитывание конфигурации»)

  • «CHANGED PENDING RESTART» («Изменено, требуется перезагрузка инстанса»)

Вы можете фильтровать по категориям. (цифра 3 на рисунке выше)

Например: Autovacuum (Автоочистка), Client Connection Defaults (Параметры подключения клиента по умолчанию) и т. д.

6.4.4. Табличные пространства (Tablespaces)

_images/image96.png

На странице «Табличные пространства» отображается список с информацией о табличных пространствах, имеющихся в PostgreSQL.

6.4.5. Activity

На странице «Activity» показывается информация для 2 групп процессов:

  • Пользовательские(Users)

  • Системные (System)

Для каждой группы рассчитываются агрегированные значения в абсолютных и относительных величинах. Информация в «Activity» собирается по принципу on-demand и обновляется каждые пять секунд (цифра 2 ниже).

6.4.5.1. Activity -> Users

_images/image50.png

На вкладке «Users» (цифра 3) информация представлена в виде таблицы, с аггрегированными значениями пользовательских сессий, для каждой из баз данных в инстансе. Кнопка, используемая для раскрытия списка, показана на рисунке выше (цифра 1). Информация на этой странице собирается по принципу on-demand и обновляется каждые пять секунд (цифра 2 выше).

Этот список, также можно просмотреть в развернутом виде, в котором отображаются дополнительные значения в таблице (рисунок ниже).

_images/image138.png
6.4.5.1.1. Activity -> Users -> Running
_images/image140.png

На вкладке «Running» (рисунок выше) отображаются все текущие пользовательские сессии.

Для каждого из процессов(сессий) отображаются следующие параметры:

  • USERNAME - пользователь, который запустил процесс

  • CPU% - утилизация CPU в процентах

  • RAM% - утилизация RAM в процентах

  • READ(b/s) - скорость чтения (байт в секунду)

  • WRITE(b/s) - скорость записи (байт в секунду)

  • IOWAIT - ожидание ввода/вывода

  • WAITING - процесс ожидает

  • STATE - статус, в котором находится процесс

  • DURATION - время, с момента запуска процесса

  • QUERY - текст запроса

  • ACTION - кнопка, позволяющая выполнить функцию pg_terminate_backend(<PID процесса>);

Для удобства есть фильтр, позволяющий отфильтровать процессы, по колонкам STATE и IOWAIT (цифра 1 на рисунке выше). Кнопка FREEZE (цифра 2) на рисунке выше позволяет приостановить обновление данных в таблице.

6.4.5.1.2. Activity -> Users -> Waiting

На вкладке «Waiting» (рисунок ниже) отображаются все текущие пользовательские сессии, у которых STATE равен Waiting.

_images/image141.png
6.4.5.1.3. Activity -> Users -> Blocking

На вкладке «Blocking» (рисунок ниже) отображаются все текущие пользовательские сессии, у которых есть блокировки.

_images/image142.png

Кроме этого, есть возможность просмотра блокировок в режиме дерева. Это позволяет понять какая транзакция(процесс) блокирует другие транзакции(процессы).

_images/image143.png

При необходимости, можно завершить выполнение процесса с помощью кнопки «TERMINATE» (цифра 1), как показано на рисунке ниже.

_images/image144.png

6.4.5.2. Activity -> System

_images/image146.png

На вкладке «System» (цифра 3), на рисунке выше, информация представлена в виде таблицы, с аггрегированными значениями системных процессов инстанса PostgreSQL(цифра 2) или для каждой из баз данных(цифра 1) в инстансе.

К таким процессам относятся:

  • autovacuum launcher

  • scheduler

  • logical replication launcher

  • background writer

  • checkpointer

  • walwriter

  • процессы расширений(extension), например, pg_cron и т. п.

_images/image145.png

Для каждого из процессов отображаются следующие параметры (рисунок выше):

  • USERNAME - пользователь, который запустил процесс

  • CPU% - утилизация CPU в процентах

  • RAM% - утилизация RAM в процентах

  • READ(b/s) - скорость чтения (байт в секунду)

  • WRITE(b/s) - скорость записи (байт в секунду)

  • IOWAIT - ожидание ввода/вывода

  • WAITING - процесс ожидает

  • STATE - статус, в котором находится процесс

  • DURATION - время, с момента запуска процесса

  • QUERY - текст запроса

  • ACTION - кнопка, позволяющая выполнить функцию pg_terminate_backend(<PID процесса>);

Для удобства есть фильтр, позволяющий отфильтровать процессы, по колонкам STATE и IOWAIT (цифра 1 на рисунке выше). Кнопка FREEZE (цифра 2) на рисунке выше позволяет приостановить обновление данных в таблице.

6.4.6. Инспектор Баз Данных (DB Inspector)

_images/image136.png

На странице «DB Inspector» («Инспектор Баз Данных») отображается список с информацией о базах данных, присутствующих в инстансе PostgreSQL, а также их общее количество и их общий размер. Если вам нужна более подробная информация о конкретной базе данных, вам нужно нажать на кнопку “Inspect” («Инспектировать» ) (цифра 1 выше).

6.4.6.1. База данных (Database)

_images/image611.png

На странице базы данных отображается подробная информация о базе данных, присутствующей в PostgreSQL. Для того, чтобы собрать информацию по HEALTHCHECKS, необходимо нажать на кнопку «COLLECT»/»REFRESH» (см. цифру 1). Информация кешируется в рамках пользовательской сессии с указанием времени сбора данных. На текущий момент поддерживается следующий список проверок(HEALTHCHECKS):

  • Tables with candidate to partial indexes

  • Tables indexes with NULL values > 50%

  • Top size tables

  • Tables with top size indexes

  • Top writable tables

  • Top readable tables

  • Tables with the top bloat

  • Top seqscans tables

  • Tables with invalid indexes

  • Tables with not used indexes

  • Tables with redundant indexes

  • Tables with FKs without index

  • Tables with FKs with different data type then the original column

  • Tables with the low HOT updates ratio

  • Tables with possible autoanalyze issue

  • Tables with possible autovacuum issue

  • Tables without unique indexes

Для каждой проверки количество таблиц ограничено 20. Если в базе данных есть проблемы со схемой данных или настройками конфигурации, то вы увидите в соответствующем HEALTHCHECK таблицу. Затем вы можете выбрать интересующую проблему в разделе HEALTHCHECKS (см. цифру 2). Для фильтрации HEALTHCHECKS по уровню важности есть фильтр (см. цифру 3).

6.4.6.2. Обзор таблицы (Table Overview)

Помимо подробной информации о проблеме, описание и рекомендации. На странице есть полезный функционал:

_images/image135.png
  1. Вы можете перемещаться между несколькими проблемами, относящимся к одному объекту.

  2. Если есть возможность решить проблему инструментами платформы, то его можно выполнить прямо из секции с описанием.

_images/image72.png

Вам нужно только нажать “Done” (“Готово”). Для более подробного объяснения флагов действий по обслуживанию см. подпункт Выполнение обслуживания (Run Maintenance).

6.4.6.3. Статистика таблицы (Table Statistics)

На странице представлена подробная статистика по работе с таблицей, обслуживания, а также распределение значений с последнего анализа.

_images/image85.png

6.4.7. Репликация (Replication)

6.4.7.1. Основной сервер (Primary server)

Страница «Replication» («Репликация») основного сервера содержит две вкладки: “STANDBY’S” («Сервера реплики») и “SLOTS” («Слоты репликации»).

_images/image119.png

Вкладка «STANDBY’S» («Сервера реплики») содержит список реплик, взятых с основным сервером, с их информацией и статусами (см. цифру 1 на рисунке выше):

  • Зеленый цвет означает, что реплика активна.

  • Серый цвет указывает на то, что реплика неактивна.

Чтобы увидеть больше информации, щелкните строку или «Open» («Открыть») в контекстном меню. При выборе этой опции открывается страница с более подробной информацией о сервере репликации (цифра 2 на рисунке выше).

_images/image8.png

Если вы щелкнете по адресу резервного инстанса (обозначенному цифрой 1 на рисунке выше), вы перейдете на страницу обзора этой реплики.

_images/image87.png

Вкладка «SLOTS» («Слоты репликации») содержит список слотов основного сервера с их информацией и статусами:

  • Зеленый цвет означает, что слот активен.

  • Серый цвет означает, что слот неактивен.

6.4.7.2. Сервер реплики (Replica server)

_images/image261.png

Страница «Replication» («Репликация») содержит информацию о сервере реплики и статус репликации. Если вы перейдете по адресу основного сервера (обозначенному цифрой 1 на рисунке выше), вы попадете на страницу обзора основного сервера.

6.4.8. Профайлер запросов (Query Profiler)

Модуль Query Profiler предназначен для профилирования запросов. Работа данного модуля основана на сборе статистики из расширения pg_stat_statements. Все данные из pg_stat_statements группируются особым образом, чтобы исключить дублирование для идентичных запросов.

На каждой итерации сбора статистической информации делается выборка только 50 самых длительных запросов, все остальные группируются в блок other. Рассмотрим функционал модуля, согласно нумерации, обозначенной на рисунке ниже:

_images/query_image3.jpg
  • График (цифра 1 на рисунке выше) отображает среднее время выполнения запросов. Выпадающий список в правом верхнем углу дает возможность выбрать временной интервал, за который необходимо показать информацию. Выбранный интервал времени, кроме того, влияет на список запросов ниже. Временной интервал имеет семь вариантов на выбор:

    • последние 30 минут (по умолчанию),

    • последний час,

    • последние 3 часа,

    • последние 8 часов,

    • последние 12 часов,

    • последний день и последняя неделя.

  • Поиск по хэшу запроса (цифра 2 на рисунке выше).

  • Сортировка запросов(цифра 3 на рисунке выше):

    • Total Time - общее время(по умолчанию),

    • Rows - количество возвращенных строк,

    • CPU Time - время ЦП,

    • IO Time - время ввода-вывода

    • Calls - количество вызовов.

  • Фильтр, позволяющий выполнить фильтрацию по базам данных (цифра 4 на рисунке выше).

  • Меню с опциями для более детального рассмотрения запроса (цифра 5 на рисунке выше).

  • Символ “+” - открывает подстроку(рисунок ниже) для того, чтобы увидеть сам запрос (цифра 6 на рисунке выше).

_images/query_image6.jpg

Скопировать запрос в буфер (номер 1).

Для просмотра более детальной информации по запросу необходимо кликнуть на строку или выбрать в контекстном меню “Details”:

6.4.8.1. Statistics

_images/query_image4.jpg

Рассмотрим приведенную выше страницу в соответствии с предоставленной нумерацией:

График имеет возможность отображать данные за определенный временной интервал(номер 1). Вы можете выбрать один из семи вариантов временного интервала:

  • последние 30 минут (по умолчанию),

  • последний час,

  • последние 3 часа,

  • последние 8 часов,

  • последние 12 часов,

  • последний день,

  • последняя неделя.

Для вашего удобства есть шесть различных графиков. Вы можете переключаться между ними, нажимая на точки (цифра 2):

  • Time Query/Second

  • Calls/Second

  • Rows/Second

  • CPU Time/ Second

  • IO Time/Second

  • Dirtied Blocks/Second

Скопировать запрос в буфер (номер 3).

6.4.8.2. Plans

Для работы с планами запросов, необходимо установить расширение pg_store_plans (см. подпункт Установка и настройка расширения pg_store_plans).

_images/query_image1.jpg

Данные об использовании планов запросов представлены в формате гистограмм. Каждый план отображается уникальным цветом. Высота столбца в гистограмме по каждому из планов зависит от количества вызовов данного плана.

Рассмотрим приведенный выше скриншот в соответствии с предоставленной нумерацией. Вы можете выбрать один из семи вариантов временного интервала(номер 1):

  • последние 30 минут (по умолчанию),

  • последний час,

  • последние 3 часа,

  • последние 8 часов,

  • последние 12 часов,

  • последний день,

  • последняя неделя.

При нажатии на символ “+” (цифра 2) вы можете увидеть план выполнения, используемый для выбранного запроса.

_images/query_image2.jpg

Скопировать план выполнения в буфер (номер 1).

6.4.8.2.1. Анализатор планов запросов

Анализатор планов запросов интегрирован в платформу Tantor на основе сервиса https://explain.tensor.ru. Данная интеграция позволяет пользователю проводить анализ запросов и логов базы данных в рамках платформы Tantor и не требует отправки запросов и данных, находящихся в них во внешние сервисы. Более того, платформа Tantor собирает и хранит запросы в соответствии с установленной конфигурацией, существенно облегчая поиск запросов по таким параметрам, как время запроса, количество строк и многое другое.

6.4.8.2.1.1. Конфигурация

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

  • pg_stat_statements, который поставляется в каталоге contrib дистрибутива PostgreSQL и Tantor DB всех версий;

  • pg_store_plans сборки Tantor (отличается от находящегося в общем доступе).

6.4.8.2.1.2. Методы доступа

Существует три метода доступа к ализатору планов запросов.

Метод 1: Доступ из верхнего меню:

_images/image16.png

При нажатии на доступ из верхнего меню расширение откроется в новой вкладке и не будет содержать запросов, находящихся в платформе. Этот функционал позволяет скопировать в новое окно любой запрос для проведения анализа:

_images/image210.png

Метод 2: Доступ из экрана “Overview” через запрос TOP 5.

Данный метод позволяет проанализировать запрос, который попал в TOP 5, для доступа следует:

  • нажать внизу плашки TOP 5 на текст интересующего запроса. Откроется меню;

  • в открывшемся меню нажать на details:

_images/image37.png

Откроется окно;

  • в открывшемся меню нажать на plans:

_images/image4.png

В результате откроется окно с анализом:

_images/image54.png

Метод 3: Доступ через экран Queries.

Данный метод позволяет проанализировать запрос, который попал в Top 50 запросов, которые собирает и анализирует платформа. Для доступа следует:

  • нажать на Query Profiler:

_images/image63.png
  • нажать на интересующий запрос:

_images/image710.png
  • в открывшемся окне нажать на строку интересующего плана:

_images/image89.png

В результате откроется окно с анализом:

_images/image97.png
6.4.8.2.1.3. Основные компоненты
6.4.8.2.1.3.1. Навигатор [1]

Позволяет оценить с помощью полоски-навигатора, сколько времени занял каждый узел. При нажатии на него произойдет переход на нужный узел:

_images/image105.png

Если доминируют красные сегменты - вы тратите много времени на чтение данных (Seq Scan, Index Scan, Bitmap Heap Scan, …), если желтые - на их обработку (Aggregate, Unique, …), а зеленых Join должно быть не слишком много.

6.4.8.2.1.3.2. Average IO [1]

Если в вашем плане присутствуют показатели времени, затраченного на операции ввода-вывода (атрибут I/O Timings при включенном параметре track_io_timing), то теперь в строке итогов можно мгновенно оценить усредненные показатели скорости доступа к диску при последовательном и случайном чтении или записи:

_images/image116.png

Предупреждение

Если вы видите тут цифры в единицы MB/s, хотя база находится на SSD, то где-то в работе дисковой подсистемы явно есть проблема.

6.4.8.2.1.3.3. Дерево rows/RRbF [1]

На tilemap-диаграмме плана режим rows - в нем вы можете мгновенно оценить, в каком сегменте плана генерируется или фильтруется чересчур много записей.

В этом режиме подсвечиваются те узлы, на которых было отброшено из-за несоответствия условию (Rows Removed by …) наибольшее количество записей, а «ширина» связи пропорциональна количеству записей, которые были переданы вверх по дереву.

Чем ярче узел и толще его «ветви», тем более пристально стоит к нему присмотреться:

_images/image122.png
6.4.8.2.1.3.4. Тултип узла [1] [2]

Наводя курсор на узел в навигаторе или любой другой диаграмме, вы сразу видите все иконки рекомендаций, которые советует наш сервис:

_images/image139.png

Если это подсказка об индексе, то простого клика по ней достаточно, чтобы перейти к предлагаемым вариантам подходящих индексов.

Также для всех больших чисел в тексте узла добавлены разделители разрядов, чтобы сходу воспринимать порядок величин.

_images/image147.png
6.4.8.2.1.3.5. Круговая диаграмма [2]

Понять «где болит сильнее всего» непросто, особенно, если запрос содержит несколько десятков узлов, и даже сокращенная форма плана занимает 2-3 экрана. В этом случае на помощь придет круговая диаграмма:

_images/image147.png

Сразу, навскидку, видна примерная доля потребления ресурсов каждым из узлов. При наведении на него, слева в текстовом представлении мы увидим иконку у выбранного узла.

6.4.8.2.1.3.6. Плитка [1]

Круговая диаграмма плохо показывает отношения между разными узлами и «самые горячие» точки. Для этого гораздо лучше подойдет вариант отображения «плиткой»:

_images/image152.png
6.4.8.2.1.3.7. Диаграмма выполнения [2]

Оба предыдущих варианта не показывают полную цепочку вложений служебных узлов CTE/InitPlain/SubPlan — его можно увидеть только на диаграмме реального выполнения:

_images/image161.png

Источник

6.4.8.3. Установка и настройка расширения pg_store_plans

Расширение pg_store_plans является доработанной версией расширения от NTT OSS Center DBMS Development and Support Team.

6.4.8.3.1. Установка pg_stat_statements

Для корректной работы расширения pg_store_plans, необходимо установить расширение pg_stat_statements в БД, к которой подключен агент Tantor, и загрузить его в shared_preload_libraries.

Если расширение pg_stat_statements не установлено, выполните следующие действия:

  • Debian/Ubuntu:

sudo apt-get install postgresql-contrib
  • RedHat/CentOS:

sudo yum install postgresql-contrib
6.4.8.3.2. Установка pg_store_plans

Для получения пакета pg_store_plans необходимо предоставить Разработчику информацию о вашей операционной системе и версии PostgreSQL на почту support@tantorlabs.ru. После получения пакета и копирования его на сервер с PostgreSQL, выполните следующие команды:

  • Debian/Ubuntu:

sudo apt-get install pg_store_plans
  • RedHat/CentOS:

sudo yum install pg_store_plans

Для работы расширения настройте PostgreSQL. Добавьте следующие записи в postgresql.conf:

shared_preload_libraries = 'pg_stat_statements,pg_store_plans'

Добавьте pg_store_plans в БД, к которой подключен агент Тантор:

sudo -u postgres psql <MONITORING_DB>

Если расширения pg_stat_statements и pg_store_plans не созданы:

CREATE EXTENSION pg_stat_statements;

CREATE EXTENSION pg_store_plans;

Перезапустите сервер PostgreSQL:

sudo service postgresql restart

После перезапуска сервера настройте конфигурацию расширения в postgresql.conf:

pg_store_plans.plan_format = raw
pg_store_plans.log_analyze = on

Настройку можно выполнить из модуля Конфигурации.

6.4.9. Конфигурация мониторинга (Monitoring Config)

6.4.9.1. Список баз данных (Database List)

Эта страница поможет вам с настройкой агента: за какими базами следить и по каким критериям открывать алерты.

image3

Присутствует и широкий функционал, функционал представлен согласно нумерации на рисунке выше:

  1. eсли флажок установлен, то эта база данных будет отслеживаться;

  2. чтобы изменения вступили в силу, следует нажать на кнопку «Save» («Cохранить»);

  3. фильтр по статусам.

image4

6.4.9.2. Триггеры (Triggers)

_images/image126.png

Триггер - это предварительно настроенное условие для создания оповещений. Если ваши параметры PostgreSQL, которые мы собрали, исходят из значений триггеров, система создаст оповещение. На странице «Триггеры» находится список триггеров с возможностью фильтрации списка. Вы можете фильтровать список по статусу триггера: “Enabled” (“Включен”) или “Disabled” (“Выключен”). Вы также можете отфильтровать список по возможности редактирования триггера.

Меню бывает двух типов:

_images/image98.png

Для нередактируемого триггера есть только возможность установить триггер как “Enabled” («Включен») / “Disabled” («Выключен»).

_images/image371.png

Для редактируемого триггера, помимо возможности установить для триггера значение Отключено / Включено, также можно изменить значения Warning (Предупреждения), Problem (Проблемы) и Recovery (Восстановления).

_images/image1051.png
  • Из трех вариантов выберите тот, который лучше всего подходит для вашего PostgreSQL.

  • Нажмите кнопку “Save” (“Сохранить”), чтобы подтвердить изменения.

6.4.10. Обслуживание (Maintenance)

Примечание

Страница обслуживания доступна для primary и standalone(автономных) инстансов PostgreSQL и недоступна для инстансов Hot Standby.

6.4.10.1. Главная страница (Main Page)

_images/image631.png

При переходе на страницу обслуживания по умолчанию открывается вкладка с параметрами обслуживания. Вы увидите список баз данных и процентное соотношение распухания таблицы, распухания индекса и циклического перехода. В этом меню есть три параметра (см. Цифру 2 на рисунке выше) для каждой базы данных:

  • Исправление раздувания таблиц

  • Исправление раздувания индексов

  • Исправление переполнения счетчика транзакций

6.4.10.2. История (History)

_images/image70.png

Вторая вкладка содержит историю обслуживания. На этой странице вы увидите список прошлых обслуживаний. Если вы выберете “Open” («Открыть») в меню (см. цифру 1 на рисунке выше), появится подробный обзор конкретного обслуживания.

_images/image64.png

Подробную информацию о выполненном обслуживании можно увидеть на этом экране. Информация о до и после обслуживания (обозначена цифрами 1 и 2 на рисунке выше) может быть очень полезной.

6.4.10.3. Исправление раздувания индексов (Fix Index Bloat)

_images/image541.png

Список индексов в выбранной базе данных будет представлен на странице “Index Bloat” (“Раздувание индексов”) , отсортированный по коэффициенту раздувания. Чтобы обслужить определенный индекс, нажмите кнопку «SELECT» («Выбрать») рядом с выбранным индексом (вы можете выбрать сразу несколько индексов).

_images/image57.png

Когда вы нажмете «SELECT» («Выбрать»), появится указанное выше окно со следующими тремя действиями:

  1. REINDEX

  2. VACUUM

  3. VACUUM FULL

_images/image971.png

REINDEX: команду можно запускать со специальными параметрами (см. цифру 2 выше). Затем нажмите кнопку «Done» («Готово»).

_images/image711.png

VACUUM: команду можно запускать со специальными параметрами (см. цифру 2). Затем нажмите кнопку «Done» («Готово»).

_images/image162.png

VACUUM FULL: команда может быть запущена со специальными параметрами (см. цифру 2 выше). Затем нажмите кнопку «Done» («Готово»).

6.4.10.4. Исправление раздувания таблиц (Fix Table Bloat)

_images/image107.png

На странице “Table Bloat” (“Раздувание таблиц”) представлен список таблиц в выбранной базе данных. Чтобы вести конкретную таблицу, нажмите кнопку «SELECT» («Выбрать») рядом с выбранной таблицей (вы можете выбрать сразу несколько таблиц).

_images/image891.png

Когда вы нажмете «SELECT» («Выбрать»), появится указанное выше окно со следующими тремя действиями:

  1. ANALYZE

  2. VACUUM

  3. VACUUM FULL

image5
ANALYZE: в соответствии с версией инстанса команду можно запускать со специальными параметрами (см. цифру 2 выше). Затем нажмите кнопку «Done» («Готово»).
_images/image711.png

VACUUM: команду можно запускать со специальными параметрами (см. цифру 2). Затем нажмите кнопку «Done» («Готово»).

_images/image162.png

VACUUM FULL: команда может быть запущена со специальными параметрами (см. цифру 2 выше). Затем нажмите кнопку «Done» («Готово»).

6.4.10.5. Исправление переполнения счетчика транзакций (Fix Wraparound)

_images/image66.png

На странице “Wraparound Stats” (“Статистика переполнения счетчика транзакций”) представлен список таблиц в выбранной базе данных. Чтобы нормализовать цикл для конкретной таблицы, нажмите кнопку «SELECT» («Выбрать») рядом с выбранной таблицей (вы можете выполнить несколько таблиц одновременно).

_images/image410.png

Когда вы нажмете «SELECT» («Выбрать»), появится указанное выше окно со следующими двумя действиями:

  1. VACUUM

  2. VACUUM FULL

_images/image711.png

VACUUM: команду можно запускать со специальными параметрами (см. цифру 2). Затем нажмите кнопку «Done» («Готово»).

_images/image162.png

VACUUM FULL: команда может быть запущена со специальными параметрами (см. цифру 2 выше). Затем нажмите кнопку «Done» («Готово»).

6.4.10.6. Выполнение обслуживания (Run Maintenance)

Прежде чем вы сможете запустить какое-либо обслуживание, вы должны выбрать действие, которое вы хотите исправить - исправить раздувание индекса, раздувание таблицы или переполнение счетчика транзакций.

_images/image171.png

После выбора действия оно будет указано в строке объекта в списке (см. цифру 1 на рисунке выше). При нажатии кнопки “Run Maintenance” (“Выполнить обслуживание”) (см. цифру 2 на рисунке выше). появится окно с предупреждением.

Предупреждение

если вы выйдете из этого экрана (нажав на любой объект вне его области), ваш выбор будет сброшен.

_images/image124.png
  • Заполните поле словом proceed (продолжить).

  • Нажмите кнопку “Run Maintenance” (“Выполнить обслуживание”), чтобы начать обслуживание.

После завершения обслуживания вы можете увидеть результаты на вкладке “Maintenance History” (“История обслуживания”).

width=“624” height=“312”