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


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

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

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

Метрики

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

Примечание.

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

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

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

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

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

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

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

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

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

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

Метрики autovacuum

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

Включение метрик autovacuum

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

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

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

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

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

Метрики PgBouncer

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

Включение метрик PgBouncer

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

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

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

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

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

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

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

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

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

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

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

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

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

В следующем примере показано разделение по измерению состояния и фильтрации по определенным значениям состояния:

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

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

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

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

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

Журналы

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

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

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

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

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

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

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

Следующие шаги