Pull to refresh
0
ХостТрекер
Сервис мониторинга доступности сайтов

Настройка мониторинга состояния базы данных

Reading time3 min
Views11K
Успешные и динамично развивающиеся стартапы часто достигают точки, когда проблемы с базой данных уже есть, а отдельного человека для их решения еще нет. Впрочем, и не всем он нужен. Сервис мониторинга ХостТрекер предлагает возможность автоматически следить за ключевыми показателями жизнедеятельности базы без необходимости каждый день лезть на сервера вручную. Ниже мы расскажем, как ловить популярные ошибки, защититься от внезапного переполнения базы, быть уверенным в том, что всегда есть свежий и успешный бэкап ну и еще по мелочи.



Как это работает


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

Для начала, нужно подключиться к базе. Настоятельно рекомендуем для безопасности создать отдельную учетную запись и дать ей права только на чтение и только на те таблицы, которые планируете проверять. Далее, выбираете интервал проверки — от 10 минут до раза в сутки. И вводите запрос, который планируете регулярно исполнять, составив его таким образом, чтобы результат, который Вам необходимо проверять, представлял из себя одно из двух:

  • Первый столбец первой строки ответа сервера. Это может быть любой числовой формат, строка, массив байтов (изображение или аудио, что хранится в БД), GUID. Для чего может быть использовано — см. ниже.
  • Количество затронутых запросом строк.



Далее — самое интересное. Можно настроить проверку результатов. Например, смотреть, не изменилось ли определенное значение с помощью условий «равно — не равно» (здесь как раз можно и GUID проверять, и строки). Для числовых значений также дополнительно есть условия больше/меньше или попадает/не попадает ли значение в определенный интервал.
По любому запросу можно настроить оповещения, которые будут приходить по СМС или другим способом, если искомое значение превышено.

При необходимости, добавляем указанные адреса в файрвол.

Популярные применения


Все это настраивается один раз, возвращаться к вопросу приходится лишь в случае возникновения проблем. Самим нужно лишь написать корректный запрос. Впрочем, мы и это попытаемся исправить: ниже можно найти список запросов, которые могут быть особенно полезными при подобном мониторинге. Все — для MS SQL, но большинство запросов несложно конвертируется и для других баз.

Чтобы повысить безопасность, можно создать процедуру, в которую включить эти запросы и дать права на ее исполнение указанному логину. Либо же создать промежуточную таблицу, в которую записывать результаты этих запросов, и уже для нее предоставить права на чтение для Host-tracker.



Информация о последнем успешном бэкапе:

SELECT TOP 1 database_name, backup_size, backup_start_date, backup_finish_date
FROM msdb..backupset bs
ORDER BY backup_set_id DESC


Количество подключений к базе в этот момент:

SELECT COUNT(*) AS connections FROM sys.dm_exec_connections

Время последнего запуска сервера БД, количество ЦПУ и оперативной памяти

SELECT sqlserver_start_time, cpu_count, physical_memory_kb
FROM sys.dm_os_sys_info


Размер файлов и доступное место для текущей базы данных:

SELECT name AS [File Name] , physical_name AS [Physical Name], size/128 AS [Total Size in MB],
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS [Available Space In MB]
FROM sys.database_files;


Сколько места доступно для текущей базы данных:

SELECT (SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB]
FROM sys.dm_db_file_space_usage


Сколько места доступно для базы TEMPDB:

SELECT (SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB]
FROM tempdb.sys.dm_db_file_space_usage


Пишите, если считаете нужным внести в этот список что-то еще. Также, как и всегда — рады вашим пожеланиям и дополнениям.
Tags:
Hubs:
+8
Comments0

Articles

Information

Website
www.host-tracker.com
Registered
Founded
Employees
2–10 employees
Location
Украина