Расширения БД
Расширения позволяют управлять дополнительными функциями БД без необходимости вносить дополнительные изменения в конфигурацию инстанса.
В данном разделе приведено описание для следующих расширений:
- Prometheus Exporters.
- Набор расширений для PostgreSQL.
- pg_stat_statements.
- Zabbix агент.
- Hints для планера PostgreSQL.
- TimescaleDB.
- pg_stat_kcache.
- JsQuery.
Чтобы установить расширение для развёрнутого инстанса БД:
- Выполните подготовительные операции (см. раздел Портал самообслуживания).
- В меню слева перейдите в раздел «Базы данных» на страницу «Инстансы баз данных».
- Выберите инстанс БД и нажмите на его имя в списке.
- Перейдите на вкладку «Расширения».
- Нажмите на кнопку «Добавить».
- Выберите расширение из списка «Доступные расширения».
- При необходимости добавьте параметры, нажав на кнопку «Добавить параметр» и указав наименование и значение параметра.
- Нажмите на кнопку «Добавить».
Установленное расширение появится в общем списке на вкладке «Расширения» карточки инстанса БД. Статус расширения отображается слева от его названия.
К настройке расширения относится редактирование его параметров.
Чтобы редактировать параметры расширения:
- Выполните подготовительные операции (см. раздел Портал самообслуживания).
- В меню слева перейдите в раздел «Базы данных» на страницу «Инстансы баз данных».
- Выберите инстанс БД и нажмите на его имя в списке.
- Перейдите на вкладку «Расширения».
- Справа от названия расширения нажмите на иконку карандаша.
- В открывшейся форме установите новые значения для параметров расширения.
- Нажмите на кнопку «Сохранить». Дождитесь окончания выполнения операции.
Prometheus — центральный сервер, предназначенный для сбора и хранения данных. Данные постоянно изменяются во времени (например, уровень заполненности диска, трафик через сетевой интерфейс, время отклика сайта). Элементы данных называются метриками.
Сервер Prometheus с заданной периодичностью считывает метрики и помещает полученные данные в базу данных Time Series DB. Time Series DB — это разновидность баз данных, предназначенная для хранения временных рядов (значений с привязкой ко времени).
Кроме того, Prometheus предоставляет интерфейс для выполнения запросов и визуализации полученных данных. Язык запросов Prometheus называется PromQL. Prometheus работает по модели «Pull», то есть он сам опрашивает эндпоинты с целью получения данных.
Exporters — процессы, обеспечивающие сбор и передачу метрик серверу Prometheus. После запуска exporter начинает сбор соответствующих метрик и ожидает запросов от сервера Prometheus по заданному порту (параметр listen_port при установке). Данные передаются в формате HTTP. Далее перечислены поддерживаемые в Платформе exporters.
Название соответствующего модуля (отображается в Портале самообслуживания): node_exporter.
Существует разная поддержка для сборщиков в каждой операционной системе. Полный список всех сборщиков см. в официальной документации.
Пример настройки мониторинга на основе Prometheus+Grafana+Node_exporter см. в официальной документации VK Cloud.
Название соответствующего модуля (отображается в Портале самообслуживания): postgres_exporter.
PostgreSQL Server Exporter — утилита сбора метрик с экземпляров кластера СУБД PostgreSQL в формате, доступном Prometheus (подробнее см. в официальной документации на GitHub).
Пример настройки мониторинга на основе Prometheus+Grafana+PostgreSQL Exporter см. в официальной документации VK Cloud.
Название соответствующего модуля (отображается в Портале самообслуживания): mysqld_exporter.
MySQL Server Exporter собирает такие метрики, как количество запросов в секунду (QPS) и размер пула буфера InnoDB (подробнее см. в официальной документации на GitHub).
Пример настройки мониторинга на основе Prometheus+Grafana+MySQL Exporter см. в официальной документации VK Cloud.
Название соответствующего модуля (отображается в Портале самообслуживания): redis_exporter.
Redis Metrics Exporter позволяет собирать метрики для БД Redis (подробнее см. в официальной документации на GitHub).
Пример настройки мониторинга на основе Prometheus+Grafana+Redis Exporter см. в официальной документации VK Cloud.
Название соответствующего модуля (отображается в Портале самообслуживания): postgres_extensions.
Набор расширений для PostgreSQL может существенно расширить функциональность БД как сервиса. Например, добавить мониторинг, криптографию, дополнительные типы данных и многое другое.
При установке расширения возможно добавить следующие параметры:
database— имя базы данных, для которой будет установлено расширение.extension_list— список дополнений для установки. Выбранные дополнения перечисляются через запятую. Если оставить параметр пустым, то будут установлены все доступные дополнения.
Доступные для установки дополнения см. в официальной документации.
Название соответствующего модуля (отображается в Портале самообслуживания): pg_stat_statements.
Расширение pg_stat_statements предоставляет возможность отслеживать статистику планирования и выполнения операторов SQL сервером PostgreSQL (подробнее см. в официальной документации).
При установке расширения возможно добавить параметр database — имя базы данных, для которой будет установлено расширение.
Zabbix — это ПО для мониторинга приложений, серверов и сетевых устройств. Zabbix агент — расширение Zabbix, может быть развёрнуто для разных СУБД. Поддерживается установка расширения для СУБД, описанных далее в таблице 1.
Поддерживаемая СУБД | Название соответствующего модуля | Отображаемое название в Портале самообслуживания |
|---|---|---|
PostgreSQL |
| Подключение Zabbix Agent для PostgreSQL |
MySQL |
| Подключение Zabbix Agent для MySQL |
MongoDB |
| Подключение Zabbix Agent для MongoDB |
ClickHouse |
| Подключение Zabbix Agent для ClickHouse |
Redis |
| Подключение Zabbix Agent для Redis |
При установке расширения возможно добавить параметры, перечисленные далее в таблице 2.
Параметр | Значение по умолчанию | Описание |
|---|---|---|
| — | IP-адрес или имя сервера мониторинга Zabbix. Обязательный параметр |
|
| Порт Zabbix агента для пассивных проверок |
|
| Порт Zabbix сервера для активных проверок |
| — | Файл в формате |
| — | Секретный ключ (Pre Shared Key) |
|
| Время обновления данных в секундах |
|
| Версия Zabbix агента (возможные значения: |
| — | Имя хоста (с учётом регистра) для отображения на сервере Zabbix. Допустимые символы: латинские строчные, заглавные, цифры и символы: точка, пробел, нижнее подчёркивание, дефис. По умолчанию — имя ВМ инстанса СУБД. Не использовать для кластеров СУБД |
Подробнее о собираемых метриках для каждой СУБД см. в официальной документации; также там можно найти пример сценария подключения инстансов к серверу мониторинга.
Название соответствующего модуля (отображается в Портале самообслуживания): pg_hint_plan.
Hint plan — управление планом выполнения запроса с помощью указаний, записываемых в комментариях особого вида. В Платформы поддерживается для СУБД PostgreSQL.
При установке расширения возможно добавить параметры, перечисленные далее в таблице 3.
Параметр | Значение по умолчанию | Описание |
|---|---|---|
|
| Использование указаний из таблицы |
|
| Уровень сообщений, которые будут попадать в журнал |
|
| Вывод и детализация отладочной информации |
|
| Уровень отладочных сообщений, которые будут попадать в журнал |
Подробнее о расширении (в том числе синтаксис, подзапросы, ошибки и прочее) см. в официальной документации.
Название соответствующего модуля (отображается в Портале самообслуживания): timescaledb.
TimescaleDB — расширение PostgreSQL для работы с временными рядами, реализованными в виде гипертаблиц (create_hypertable).
Подробнее о расширении см. в официальной документации.
При установке расширения возможно добавить параметр database — имя базы данных, для которой будет установлено расширение.
Название соответствующего модуля (отображается в Портале самообслуживания): pg_stat_kcache.
pg_stat_kcache — расширение, предоставляющее статистику о реальных чтениях и записях на уровне файловой системы.
Подробнее о расширении см. в официальной документации на GitHub.
При установке расширения возможно добавить параметр database — имя базы данных, для которой будет установлено расширение.
Название соответствующего модуля (отображается в Портале самообслуживания): jsquery.
JsQuery — это язык запросов к данным jsonb. Его основное предназначение — предоставить дополнительную функциональность для jsonb, например, простой и эффективный способ поиска во вложенных объектах и массивах, а также дополнительные операторы сравнения с поддержкой индексов.
Подробнее о расширении см. в официальной документации.
При установке расширения возможно добавить параметр database — имя базы данных, для которой будет установлено расширение.