Мониторинг метрик для гибкого сервера Базы данных 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 дней. Если это ограничение превышено, старые журналы удаляются, чтобы освободить место для новых. Дополнительные сведения о включении журналов сервера и управлении ими см. в руководстве по настройке журналов сервера.
Следующие шаги
- Узнайте больше о настройке и доступе к журналам.
- Дополнительные сведения см. в статье Цены на Azure Monitor.
- Дополнительные сведения о журналах аудита.