Подходы к мониторингу баз данных

Материал из Документация Ключ-АСТРОМ

Подходы к мониторингу баз данных

Обзор

Мониторинг баз данных в Ключ-АСТРОМ сосредоточен на экземпляре базы данных — работающем движке базы данных. Хост, на котором он работает, — это отдельный слой инфраструктуры, который вы отслеживаете, чтобы завершить картину. Эта страница объясняет оба подхода и то, как они сочетаются.

Что такое экземпляр базы данных?

Экземпляр базы данных представляет работающий движок базы данных, который вы хотите отслеживать, например Oracle SID, именованный экземпляр SQL Server или кластер PostgreSQL. Когда вы добавляете базу данных через мастер Добавить экземпляр БД, Ключ-АСТРОМ создаёт сущность экземпляра базы данных, специфичную для поставщика — DB_INSTANCE_*, например DB_INSTANCE_POSTGRES, — которая отслеживает количество подключений, использование пула буферов, активные сессии, топовые запросы и планы выполнения для этого движка.

Что такое хост?

Хост — это физическая или виртуальная машина, на которой работает ваш процесс базы данных. Когда ЕдиныйАгент установлен на хосте, где работает база данных, Ключ-АСТРОМ создаёт сущность HOST, которая представляет базовую инфраструктуру, включая загрузку CPU, потребление памяти, дисковый ввод-вывод и пропускную способность сети. Используйте сущность HOST, чтобы определить, исходит ли проблема производительности от движка базы данных или от ресурсов базового хоста.

Что вы отслеживаете с помощью мониторинга баз данных

Включите расширение базы данных для сущности DB_INSTANCE_*, чтобы собирать данные уровня движка через удалённое подключение и просматривать их в приложении Базы данных. Вы также можете использовать эти данные в дашбордах, оповещениях и ноутбуках.

Мониторинг баз данных предоставляет:

  • Метрики движка — конфигурация, время работы, подключения, пулы буферов, активность и производительность запросов, собираемые из системных таблиц для снижения накладных расходов.
  • Производительность операторов — наиболее ресурсоёмкие SQL-операторы по каждому экземпляру. В представлении Анализ производительности операторов фильтруйте операторы и ранжируйте их по Time, CPU, Disk или Waits. Операторы нормализуются, поэтому персональные данные не сохраняются.
  • Планы выполнения — запрашивайте план для любого оператора, чтобы увидеть, как движок выполняет запрос и почему он медленный. Ключ-АСТРОМ получает планы автоматически для PostgreSQL и MySQL и по требованию для Oracle и MySQL.
  • Доступность — достижимость конечной точки базы данных.
  • Метрики, специфичные для поставщика — набор метрик зависит от включённых наборов функций.

Ключ-АСТРОМ хранит эти данные в бакете default_database_monitoring и сохраняет их по умолчанию в течение 35 дней.

Что охватывает мониторинг хоста

Мониторинг хоста охватывает инфраструктуру, на которой работает база данных, а не сам движок базы данных. Он сообщает метрики уровня OS, включая CPU, память, диск и сеть для этой машины, и не требует опроса самой базы данных:

  • На хосте, который вы контролируете, установите ЕдиныйАгент на машину. Затем Ключ-АСТРОМ представляет её как сущность HOST и сообщает её метрики уровня OS.
  • Для облачных или полностью управляемых баз данных метрики хоста и OS поступают из службы мониторинга облачного провайдера.

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

Сочетание мониторинга баз данных и хостов

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

Когда настроены оба подхода, приложение Базы данных отображает сущности DB_INSTANCE_* и HOST вместе. Это представление помогает сопоставить здоровье движка базы данных с базовой инфраструктурой и определить, исходит ли проблема производительности от движка базы данных или от ресурсов хоста.