Мониторинг баз данных с помощью HostTracker
Опубликовано: 2017-08-04 все статьиВ данной статье мы бы хотели познакомить вас с еще одной интересной и полезной функцией нашего сервиса - Проверка баз данных (БД).
Существует много различных сервисов для сбора и анализа информации о работе ресурса, например, количестве посетителей, продолжительности сессий, распределении аудитории по регионам и т.п. Но при работе с данными возникает потребность в сравнении таких вот «технических» характеристик.
Именно для получения и оценки таких параметров, команда-разработчиков и аналитиков ХостТрекера разработала простой для понимания и использования инструмент - Проверка БД.
Настройка запроса
Как правило, настройка запроса не занимает много времени. С функцией Проверка БД можно каждый раз использовать разнообразные инструкции, легко при этом получая результаты выполнения запросов к базе и соответствующим образом их обрабатывая. В случае, если инструкция не указана – система будет просто проверять возможность установить соединение с базой данных. Также инструмент позволяет указать максимальную задержку выполнения запроса и отследить результат выполнения.
В качестве инструкции можно использовать любые команды - от простых запросов типа Select до более сложных процедур. При этом запрос должен выполняться менее 30 секунд, в противном случае произойдет ошибка (timeout).
Обратите внимание! Во-первых, при создании запроса следует учитывать тот факт, что нужное нам значение должно возвращаться в первую строку первого столбца результирующего набора. Именно это значение будет далее анализироваться. Во-вторых, для запросов с использованием операторов манипулирования данными дополнительно будет считываться количество затронутых записей.
Далее приведена графическая интерпретация результата выполнения инструкции DELETE по конкретно выбранным параметрам:
Соответственно, каждый такой сценарий регистрируется, а последний - всегда доступен в таблице задач интерфейса. При этом, если результирующий набор данных- числовой - по нему будет построен график, с помощью которого можно проследить динамику изменений соответствующих метрик. На данном этапе также можно задавать условия отбора (равно /не равно; больше/меньше, чем; в пределах/за пределами).
В случае, если условие не будет выполняться - запрос не проходит проверку по таймауту или отсутствует соединение с БД - Вам будет выслано уведомление на телефон или сообщение в Skype, Viber, Telegram, Slack.
Пример создания проверки
Приведем полный пример, содержащий сценарий как для отслеживания размера файлов БД, так и для получения сообщений при достижении порогового значения.
- Формируем выборку, которая определяет объем свободного места в табличном пространстве:
SELECT
convert(DECIMAL(12,2),round(sysfile.size/128.000,2)) AS 'FileSize/mb'
, convert(DECIMAL(12,2),round(fileproperty(sysfile.name,'SpaceUsed')/128.000,2))
AS 'Used/mb'
, convert(DECIMAL(12,2),round((sysfile.size-fileproperty(sysfile.name,'SpaceUsed'))/128.000,2))
AS 'Free/mb'
, filegroup.groupname AS 'File-group'
, sysfile.[name],sysfile.[filename]
FROM dbo.sysfiles sysfile (NOLOCK)
inner join dbo.sysfilegroups filegroup (NOLOCK) ON filegroup.groupid =
sysfile.groupid
UNION ALL
SELECT
convert(DECIMAL(12,2),round(sysfile.size/128.000,2)) AS 'FileSize/mb'
, convert(DECIMAL(12,2),round(fileproperty(sysfile.name,'SpaceUsed')/128.000,2))
AS 'Used/mb'
, convert(DECIMAL(12,2),round((sysfile.size-fileproperty(sysfile.name,'SpaceUsed'))/128.000,2))
AS 'Free/mb'
, (CASE WHEN sysfile.groupid = 0 THEN 'Log' END) AS 'File-group'
, sysfile.[name],sysfile.[filename]
FROM dbo.sysfiles sysfile (NOLOCK) WHERE groupid = 0
ORDER BY [File-group],sysfile.[name]
2. Получаем следующий результат:
3. Определяем условия отбора:
1. Результат запроса – выбираем «значение в первой колонке первой строки».
2. Проверка результата – выбираем «меньше, чем» и как макс. значение указываем «1000».
Будет получен следующий результат: если лог-файл превысит 1 Гб, нам поступит сообщение.
Кроме того, вся история всегда доступна для просмотра, поэтому вы с легкостью сможете выявить причину возникновения той или иной проблемы, в частности, причину быстрого заполнения места табличного пространства.
Настройка мониторинга
Для того, чтобы сформировать новую Проверку БД необходимо:
-
Заполнить следующие поля:
-
Сервер – укажите имя сервера;
-
Порт – укажите имя порта;
-
База данных – укажите имя базы;
-
Пользователь –укажите логин под которым необходимо будет выполнить запрос;
-
Пароль – укажите пароль, соответствующий вашему логину.
Для данного задания рекомендуется создать отдельного пользователя с ограниченными правами.
2. Обеспечить доступ к базе. Для этого, добавьте IP-адреса агентов HostTracker в белый список файрволла и вашего сервера.
Внимание! IP-адреса наших агентов - постоянны.
3. Когда будете готовы - нажмите Сохранить.
Если при создании данного задания у вас возникли проблемы, пожалуйста, сразу же обращайтесь в нашу службу поддержки.