Поделиться через


Мониторинг метрик в гибком сервере Базы данных Azure для PostgreSQL

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер

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

Метрики

База данных Azure для PostgreSQL гибкий сервер предоставляет различные метрики, которые дают представление о поведении ресурсов, поддерживающих экземпляр гибкого сервера базы данных Azure для PostgreSQL. Каждая метрика передается с интервалом в одну минуту и может храниться до 93 дней. Вы можете настроить оповещения на основе метрик. Другие варианты включают настройку автоматизированных действий, выполнение расширенной аналитики и архивацию журнала. Дополнительные сведения см. в статье Обзор метрик Azure.

Примечание.

Хотя метрики хранятся в течение 93 дней, в плитке метрик вы можете запросить данные максимум за 30 дней для каждой отдельной диаграммы. Если вы видите пустую диаграмму или на ней отображаются неполные данные метрик, убедитесь, что разница между датами начала и окончания в средстве выбора времени не превышает 30 дней. После выбора 30-дневного интервала можно выполнить сдвиг диаграммы, чтобы просмотреть данные за весь период хранения.

Метрики по умолчанию

Для экземпляра гибкого сервера Azure Database для PostgreSQL доступны следующие метрики:

Показать имя Идентификатор метрики Единица измерения Описание Включена по умолчанию
Активные подключения active_connections Счёт Общее количество подключений к серверу базы данных, включая все состояния подключения, такие как активный, простой и другие, как показано в pg_stat_activity представлении. На этом рисунке представлена общая сумма соединений между всеми состояниями, не различая определенные состояния. Подробный анализ определенного состояния, например активных подключений, см. в метрике "Сеансы по состоянию". Да
Используемое хранилище резервных копий backup_storage_used Байт Объем используемого хранилища резервных копий. Эта метрика представляет сумму хранилища, используемого всеми полными резервными копиями, разностными резервными копиями и резервными копиями журналов, которые хранятся на основе периода хранения резервных копий, установленного для сервера. Периодичность резервного копирования управляется службой. Для геоизбыточного хранилища использование хранилища резервных копий в два раза превышает использование локально избыточного хранилища. Да
Неудачные подключения connections_failed Подсчёт Количество неудачных подключений. Да
Успешные подключения connections_succeeded Подсчёт Количество успешных подключений. Да
Кредиты ЦП, потребляемые ^ cpu_credits_consumed Счет Количество кредитов, использованных гибким сервером. Применяется к уровню с переменной производительностью. Да
Оставшиеся кредиты ЦП ^ cpu_credits_remaining Считать Число кредитов, доступных для временного увеличения. Применяется к бурстабельному уровню. Да
Процент ЦП cpu_percent Процент Нагрузка на ЦП в процентах. Да
Размер базы данных database_size_bytes Байт Размер базы данных в байтах. Да
Глубина очереди диска ^ disk_queue_depth Количество Количество необработанных операций ввода-вывода на диске данных. Да
IOPS iops считать Число операций ввода-вывода на диске в секунду. Да
Максимально используемые идентификаторы транзакций maximum_used_transactionIDs Count Максимальное количество используемых идентификаторов транзакций. Да
Процент памяти memory_percent Процент Процент используемой памяти. Да
Сетевой выход network_bytes_egress Байт Общая сумма исходящего сетевого трафика на сервере за выбранный период. Эта метрика включает исходящий трафик из базы данных и из гибкого сервера Базы данных Azure для Postgres, включая такие функции, как мониторинг, журналы, архив WAL, репликация и т. д. Да
Входящие данные сети network_bytes_ingress Байт Общая сумма входящего сетевого трафика на сервере за выбранный период. Эта метрика включает входящий трафик в базу данных и гибкий сервер Базы данных Azure для Postgres, включая такие функции, как мониторинг, журналы, архив WAL, репликация и т. д. Да
Чтение IOPS ^ read_iops Счет Число операций чтения с диска данных в секунду. Да
Пропускная способность чтения ^ read_throughput Байт Число байт, считываемых с диска за секунду. Да
Бесплатный доступ к хранилищу storage_free Байт Объем свободного места в хранилище. Да
Процент хранилища storage_percent Процентное отношение Процент используемого места хранения. Хранилище, используемое службой, может включать файлы базы данных, журналы транзакций и журналы сервера. Да
Используемое хранилище storage_used Байт Объем используемого места хранения. Хранилище, используемое службой, может включать файлы базы данных, журналы транзакций и журналы сервера. Да
Используемое хранилище журналов транзакций txlogs_storage_used Байт Объем дискового пространства, используемого журналами транзакций. Да
Пропускная способность записи ^ write_throughput Байт Байты, записанные на диск в секунду. Да
Запись операций ввода-вывода в секунду ^ write_iops Count Число операций ввода-вывода с диском данных в секунду. Да

Примечание.

Метрики, помеченные как помеченные ^ , создаются каждые одну минуту, но обрабатываются и отображаются в 5-минутных пакетах. Это приводит к задержке до 5-минутной задержки видимости метрик. При создании оповещений по этим метрикам обратите внимание на эту задержку, чтобы обеспечить точные и своевременные оповещения.

Расширенные метрики

Вы можете использовать расширенные метрики для гибкого сервера базы данных Azure для PostgreSQL, чтобы получить детальный мониторинг и оповещения в базах данных. Каждая метрика создается с интервалом 1 минута и сохраняется до 93 дней. Вы можете настроить оповещения на основе метрик. Некоторые расширенные метрики включают Dimension параметр, который можно использовать для разделения и фильтрации данных метрик с помощью измерения, например имени базы данных или состояния.

Включение расширенных метрик

  • Большинство этих новых метрик отключены по умолчанию. Хотя существует несколько исключений, которые включены по умолчанию. Самый правый столбец в следующих таблицах указывает, включена ли каждая метрика по умолчанию или нет.
  • Чтобы включить эти метрики, которые не включены по умолчанию, задайте для параметра сервера значение metrics.collector_database_activityON. Этот параметр является динамическим и не требует перезапуска экземпляра.
Список расширенных метрик

Вы можете выбрать следующие категории расширенных метрик:

  • Действие (Activity)
  • База данных
  • Логическая репликация
  • Репликация
  • Насыщенность
  • Трафик
Действие (Activity)
Показать имя Идентификатор метрики Единица измерения Описание Измерение Включена по умолчанию
Сеансы по штатам sessions_by_state Счет Сеансы по состояниям, как показано в представлении pg_stat_activity. Он классифицирует клиентские бэкенды по разным состояниям, например активное или бездействующее. Штат Нет
Сеансы по WaitEventType sessions_by_wait_event_type Количество Сеансы по типу события, по которому ожидает серверная часть клиента. Тип события ожидания Нет
Старейшая серверная часть oldest_backend_time_sec секунды Возраст в секундах самой старой серверной части (независимо от состояния). Не применяется Нет
Самый старый запрос longest_query_time_sec секунды Возраст в секундах самого длинного запроса, выполняющегося в настоящее время. Не применяется Нет
Старая транзакция longest_transaction_time_sec секунды Возраст в секундах самой длительной транзакции (включая неактивные транзакции). Не применяется Нет
Самый старый xmin oldest_backend_xmin Подсчет Фактическое значение самого старого xmin. Если xmin не увеличивается, это означает, что существуют некоторые длительные транзакции, которые могут удерживать мертвые кортежи от удаления. Не применяется Нет
Старейший возраст xmin oldest_backend_xmin_age Количество Возраст в единицах старейших xmin. Указывает, сколько транзакций прошло с момента самого старого xmin. Не применяется Нет
База данных
Показать имя Идентификатор метрики Единица измерения Описание Измерение Включена по умолчанию
Бэкенды numbackends Подсчёт Количество серверных компонентов, подключенных к этой базе данных. имя_базы_данных Нет
Взаимоблокировки deadlocks Количество Количество обнаруженных взаимоблокировок в этой базе данных. имя_базы_данных Нет
Попадания по блокам диска blks_hit Количество Количество раз, когда дисковые блоки были найдены в буферном кэше, поэтому чтение не требовалось. имя_базы_данных Нет
Чтение блоков дисков blks_read Счёт Количество блоков дисков, считываемых в этой базе данных. имя_базы_данных Нет
Временные файлы temp_files Счёт Количество временных файлов, созданных запросами в этой базе данных. имя_базы_данных Нет
Размер временных файлов temp_bytes Байт Общий объем данных, записанных во временные файлы по запросам в этой базе данных. имя_базы_данных Нет
Всего транзакций xact_total Счёт Количество общих транзакций, выполняемых в этой базе данных. имя_базы_данных Нет
Фиксация транзакций xact_commit Count Количество транзакций в этой базе данных, зафиксированных. имя_базы_данных Нет
Транзакции в секунду tps Количество Количество транзакций, выполняемых в течение секунды. имя_базы_данных Нет
Откат транзакций xact_rollback Количество Количество транзакций в этой базе данных, которые были откатаны. имя_базы_данных Нет
Записи удалены tup_deleted Счёт Количество строк, которые были удалены запросами в этой базе данных. имя_базы_данных Нет
Извлечённые кортежи tup_fetched Count Количество строк, которые были извлечены запросами из этой базы данных. имя_базы_данных Нет
Кортежи вставлены tup_inserted Счет Количество строк, вставляемых запросами в эту базу данных. имя_базы_данных Нет
Кортежи возвращены tup_returned Count Количество строк, возвращаемых запросами в этой базе данных. имя_базы_данных Нет
Обновлены кортежи tup_updated Count Количество строк, которые были обновлены запросами в этой базе данных. имя_базы_данных Нет
Логическая репликация
Показать имя Идентификатор метрики Единица измерения Описание Измерение Включена по умолчанию
Максимальная задержка логической репликации logical_replication_delay_in_bytes Байт Максимальная задержка во всех слотах логической репликации. Не применяется Да
Репликация
Показать имя Идентификатор метрики Единица измерения Описание Измерение Включена по умолчанию
Максимальная задержка физической репликации physical_replication_delay_in_bytes Байт Максимальная задержка во всех асинхронных слотах физической репликации. Не применяется Да
Задержка реплики чтения physical_replication_delay_in_seconds сек. Задержка чтения реплики в секундах. Не применяется Да
Насыщенность
Показать имя Идентификатор метрики Единица измерения Описание Измерение Включена по умолчанию
Процент использования пропускной способности диска disk_bandwidth_consumed_percentage Процент Процент пропускной способности диска данных, потребляемой в минуту. Не применяется Да
Процент использования IOPS диска disk_iops_consumed_percentage Процент Процент операций ввода-вывода диска данных, потребляемого в минуту. Не применяется Да
Использование процессора "Postmaster Process" (предварительная версия) postmaster_process_cpu_usage_percent Процент Использование центрального процессора процесса Postmaster. Неприменимо для импульсного SKU. Не применяется Нет
Трафик
Показать имя Идентификатор метрики Единица измерения Описание Измерение Включена по умолчанию
Максимальное число подключений ^ max_connections Счёт Максимальное количество подключений. Не применяется Да
Очередь TCP-подключений (предпросмотр) tcp_connection_backlog Количество Количество ожидающих TCP-подключений, ожидающих обработки сервером. Не применяется No

^ Max Connections представляет настроенное значение для max_connections параметра сервера. Эта метрика опрашивается каждые 30 минут.

Рекомендации по использованию расширенных метрик
  • Расширенные метрики, использующие измерение DatabaseName, имеют ограничение в 50 баз данных .
  • На SKU с возможностью повышения производительности ограничение составляет 10 баз данных для метрик, использующих атрибут DatabaseName.
  • Ограничение измерения DatabaseName применяется к столбцу идентификатора базы данных (datid) представления системы pg_stat_database, которое отражает порядок создания базы данных.
  • В DatabaseName измерении метрик регистр не учитывается. Это означает, что после запроса pg_stat_database , отфильтровывание строк, в которых datname есть template1 или template0, упорядочивание datidпо, и ограничение возвращаемых строк до первой 50 (или 10 в случае СKU с ускорением ), метрики для имен баз данных в этом результирующем наборе, которые совпадают, за исключением случаев (например, contoso_database и Contoso_database) будут объединены и могут не отображаться точные данные.

Метрики автоматического вакуума

Метрики автоматической очистки можно использовать для мониторинга и настройки производительности автоматической очистки в гибком сервере базы данных Azure для PostgreSQL. Каждая метрика создается в 30-минутном интервале и имеет до 93 дней хранения. Вы можете создавать оповещения для определенных метрик, а также разделять и фильтровать данные метрик с помощью DatabaseName измерения.

Как включить метрики autovacuum

  • Метрики autovacuum отключены по умолчанию.
  • Чтобы включить эти метрики, задайте для параметра metrics.autovacuum_diagnostics сервера значение ON.
  • Этот параметр является динамическим, поэтому перезапуск экземпляра не требуется.

Список метрик «autovacuum»

Показать имя Идентификатор метрики Единица измерения Описание Измерение Включена по умолчанию
Анализ таблиц пользователей счетчика analyze_count_user_tables Подсчет Количество раз, когда таблицы, доступные только для пользователей, были вручную проанализированы в этой базе данных. имя_базы_данных Нет
Таблицы пользователей счетчика AutoAnalyze autoanalyze_count_user_tables Count Количество раз, когда таблицы, доступные только для пользователей, были проанализированы управляющей функцией autovacuum в этой базе данных. имя_базы_данных Нет
Таблицы пользователей счетчика AutoVacuum autovacuum_count_user_tables Количество Количество раз, когда таблицы, доступные только для пользователей, были вакуумированы управляющей функцией autovacuum в этой базе данных. имя_базы_данных Нет
Процент избыточности bloat_percent Процент Предполагаемый процент раздувания только для пользовательских таблиц. имя_базы_данных Нет
Предполагаемые мертвые строки пользовательских таблиц n_dead_tup_user_tables Count Предполагаемое количество мертвых строк для таблиц, доступных только для пользователей в этой базе данных. имя_базы_данных No
Предполагаемое количество активных строк в пользовательских таблицах n_live_tup_user_tables Счёт Предполагаемое количество динамических строк для таблиц, доступных только для пользователей в этой базе данных. имя_базы_данных Нет
Предполагаемые изменения пользовательских таблиц n_mod_since_analyze_user_tables Счёт Предполагаемое количество строк, измененных с момента последнего анализа таблиц, доступных только для пользователей. имя_базы_данных Нет
Проанализированные пользовательские таблицы tables_analyzed_user_tables Счет Количество таблиц, доступных только для пользователей, которые были проанализированы в этой базе данных. имя_базы_данных Нет
Автоматически анализируемые пользовательские таблицы tables_autoanalyzed_user_tables количество Количество таблиц, предназначенных только для пользователей, которые были проанализированы демоном autovacuum в этой базе данных. имя_базы_данных No
Пользовательские таблицы AutoVacuumed tables_autovacuumed_user_tables Count Количество таблиц, доступных только для пользователей, которые были вакуумированы управляющей функцией autovacuum в этой базе данных. имя_базы_данных Нет
Счетчик пользовательских таблиц tables_counter_user_tables Считать Количество таблиц только для пользователей в этой базе данных. имя_базы_данных Нет
Пользовательские таблицы вакуумированы tables_vacuumed_user_tables Подсчёт Количество таблиц, доступных только для пользователей, которые были вакуумированы в этой базе данных. имя_базы_данных Нет
Таблицы пользователей счетчика вакуума vacuum_count_user_tables Счет Количество раз, когда таблицы, доступные только для пользователей, были вручную вакуумированы в этой базе данных (не учитываются VACUUM FULL). имя_базы_данных Нет

Рекомендации по использованию метрик autovacuum

  • Метрики autovacuum, использующие измерение DatabaseName, имеют ограничение в 30 баз данных .
  • В номере SKU с возможностью ускорения ограничение составляет 10 баз данных для метрик, использующих измерение DatabaseName.
  • Ограничение измерения DatabaseName применяется к столбцу OID, который отражает порядок создания базы данных.

Метрики PgBouncer

С помощью метрик PgBouncer можно отслеживать производительность процесса PgBouncer, включая сведения о активных подключениях, бездействии подключений, общих пуловых подключениях и количестве пулов подключений. Каждая метрика отправляется с интервалом 1 минута и сохраняется до 93 дней. Клиенты могут настраивать оповещения по метрикам, а также получать доступ к новым измерениям метрик для разделения и фильтрации данных метрик по имени базы данных.

Как включить метрики PgBouncer

  • Чтобы отслеживать метрики PgBouncer, убедитесь, что функция pgbouncer включена с помощью параметра pgbouncer.enabled сервера и параметра metrics.pgbouncer_diagnostics метрик.
  • Эти параметры являются динамическими и не требуют перезапуска экземпляра.
  • Метрики PgBouncer отключены по умолчанию.

Список метрик PgBouncer

Показать имя Идентификатор метрики Единица измерения Описание Измерение Включена по умолчанию
Активные клиентские подключения client_connections_active Счет Подключения от клиентов, связанных с подключением к гибкому серверу Azure Database for PostgreSQL. имя_базы_данных Нет
Ожидание клиентских подключений client_connections_waiting Count Подключения от клиентов, ожидающих гибкого подключения к серверу Базы данных Azure для PostgreSQL. имя_базы_данных Нет
Активные подключения к серверу server_connections_active Счёт Подключения к гибкому серверу базы данных Azure для PostgreSQL, которые используются для клиентского соединения. имя_базы_данных Нет
Неактивные подключения к серверу server_connections_idle Счёт Подключения к гибкому серверу Базы данных Azure для PostgreSQL, которые неактивны и готовы к обслуживанию нового клиентского подключения. имя_базы_данных Нет
Общее количество объединённых подключений total_pooled_connections Подсчёт Текущее количество подключений в пуле. имя_базы_данных Нет
Количество пулов подключений num_pools Число Общее количество пулов подключений. имя_базы_данных Нет

Рекомендации по использованию метрик PgBouncer

  • Метрики PgBouncer, использующие измерение DatabaseName, имеют ограничение в 30 баз данных .
  • В SKU Burstable ограничение составляет 10 баз данных с измерением DatabaseName.
  • Ограничение измерения DatabaseName применяется к столбцу OID, который отражает порядок создания базы данных.

Метрика доступности базы данных

Is-db-alive — это метрика доступности сервера базы данных для гибкого сервера Azure Database для PostgreSQL, возвращающая [1 for available] и [0 for not-available]. Каждая метрика излучается с периодичностью в одну минуту и имеет до 93 дней ретенции. Клиенты могут настраивать оповещения по метрикам.

Отображаемое имя. Идентификатор метрики Единица измерения Описание Измерение Включена по умолчанию
База данных жива is_db_alive Граф / Подсчет Указывает, работает ли база данных или нет. Недоступно Да

Рекомендации по использованию метрик доступности базы данных

  • Агрегирование этой метрики с MAX() позволит заказчикам определить, был ли сервер включён или выключен за последнюю минуту.
  • Клиенты могут дополнительно агрегировать эти метрики с любой требуемой частотой (5 мин, 10 мин, 30 мин и т. д.), чтобы удовлетворять требованиям оповещения и избегать ложных срабатываний.
  • Существуют AVG()MIN()и другие возможные агрегаты.

Фильтрация и разделение по метрикам измерения

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

  • Фильтрация: используйте фильтрацию для выбора значений измерений, включенных в диаграмму. Например, при диаграмме Sessions-by-State метрик может потребоваться отображать неактивные подключения. Вы задаете фильтр для простоя в измерении состояния.
  • Разделение: используйте разделение для управления отображением отдельных строк для каждого значения измерения или агрегирования значений в одной строке. Например, можно увидеть одну строку для метрики во Sessions-by-State всех сеансах. Вы можете видеть отдельные строки для каждого сеанса, сгруппированного по значению состояния. Примените разделение на измерение состояния для просмотра отдельных строк.

В следующем примере показано разбиение по измерению "Состояние" и фильтрация на основе конкретных значений этого состояния.

Снимок экрана: пример разделения и фильтрации по метрикам и измерениям.

Дополнительные сведения о настройке диаграмм для мерных метрик см. в Примеры диаграмм метрик.

Визуализация метрик

Существует несколько вариантов визуализации метрик Azure Monitor.

Компонент Описание Требуемое обучение и/или конфигурация
Страница обзора Большинство служб Azure будут иметь страницу Обзор на портале Azure, которая включает раздел Монитор с диаграммами, отображающими критические метрики. Эта информация предназначена для владельцев отдельных служб, чтобы быстро оценить производительность ресурса. Эта страница основана на метриках платформы, которые собираются автоматически. Настройка не требуется.
Обозреватель метрик Вы можете использовать Обозреватель метрик для интерактивной работы с данными метрик и создания оповещений о метриках. Вам требуется минимальное обучение для использования обозревателя метрик, но необходимо ознакомиться с метриками, которые необходимо проанализировать. — После настройки сбора данных другая конфигурация не требуется.
— Метрики платформы для ресурсов Azure автоматически доступны.
— Гостевые метрики для виртуальных машин доступны после развертывания агента Azure Monitor на виртуальной машине.
— Метрики приложений доступны после настройки Application Insights.
Grafana Grafana можно использовать для визуализации и оповещений по метрикам. Все версии Grafana включают плагин источника данных Azure Monitor, позволяющий визуализировать ваши метрики и логи Azure Monitor. Чтобы ознакомиться с панелями мониторинга Grafana, требуется некоторое обучение. Однако можно упростить процесс, скачав предварительно созданную База данных Azure для PostgreSQL панель мониторинга grafana для гибкого сервера, которая позволяет легко отслеживать все База данных Azure для PostgreSQL гибкие экземпляры сервера в организации.

Логи

Помимо метрик можно использовать гибкий сервер База данных Azure для PostgreSQL для настройки и доступа к стандартным журналам База данных Azure для PostgreSQL. Дополнительные сведения см. в разделе "Основные понятия ведения журнала".

Визуализация журналов

Компонент Описание Обязательные учебные курсы и /или конфигурация
Служба Log Analytics С помощью Log Analytics можно создавать запросы журналов для интерактивной работы с данными журнала и создания оповещений о запросах журнала. Для ознакомления пользователей с языком запросов вам потребуется некоторое обучение, хотя они могут использовать предварительно созданные запросы для удовлетворения общих требований.

Журналы сервера

Функция журналов серверов в База данных Azure для PostgreSQL гибкий сервер позволяет пользователям включать, настраивать и скачивать журналы серверов, которые необходимы для устранения неполадок и выполнения исторических анализов действий сервера. По умолчанию функция журналов сервера в База данных Azure для PostgreSQL гибком сервере отключена. Однако после включения функции База данных Azure для PostgreSQL гибкий сервер начинает записывать события выбранного типа журнала и записывает их в файл. Затем вы сможете на портале Azure или с помощью Azure CLI скачать эти файлы, которые помогут вам в устранении неполадок.

Хранение журналов сервера

Журналы серверов имеют минимальный срок хранения 1 дней, а максимальный срок хранения — 7 дней. Если это ограничение превышено, старые журналы удаляются, чтобы освободить место для новых. Дополнительные сведения о включении журналов сервера и управлении ими см. в разделе "Настройка записи журналов сервера PostgreSQL" и журналов обновления основных версий.