Утро понедельника, и ваше напоминание в календаре только что появилось, сообщая вам, что вы на дежурстве. Поскольку это утро понедельника, и вы пришли раньше всех, чтобы провести некоторое время наедине со своими системами, это идеальное время, чтобы начать выполнение ваших обязанностей дежурного. С чего начать? Какую задачу выполнить первой? Какие задачи выполнялись последними предыдущими дежурными? Я надеюсь, что это руководство поможет вам размышлять над этим процессом и подготовит вас к более эффективному мониторингу ваших систем и обеспечению их доступности и работоспособности.
Сначала я хотел бы предложить вам вести дневник или записывать задачи и их результаты. Эта запись позволит другим видеть, что было и что не было сделано ранее. Она позволит вам создать базовую линию и собрать метрики. Выявить тенденции и закономерности. Мы выбрали простую таблицу, в которой отслеживаются задачи, результаты и другие собранные данные. Существует вкладка-шаблон, которую можно скопировать в новую вкладку. Каждый день создается новая вкладка и заполняется. По мере выполнения задач результаты заполняются. Задачи, которые не были выполнены, просто не имеют связанных с ними результатов. Таким образом, другие могут вернуться к конкретным дням и увидеть, какие результаты были или какие задачи не были выполнены. Необходимость полного заполнения всех задач будет определена в вашей компании и команде. У каждого сервера, за которым мы отвечаем, есть столбец в этой таблице, где можно собирать индивидуальные данные для каждого сервера.
Некоторые из пунктов, которые у нас есть в списке задач:
- Сканирование событий ошибок ОС: В Управлении компьютером, в Журнале событий, мы проводим обзор ошибок, которые появляются в разделах Приложение, Безопасность и Система. Фильтруйте каждый из этих разделов по ошибкам и ищите все, что произошло с момента последнего выполнения этого процесса. Запишите все, что появляется в этих разделах, и, возможно, вам придется исследовать причины и устранять их. Эта задача может быть быстрой или занимать несколько дней, в зависимости от событий, с которыми вы столкнетесь.
- Проверка резервных копий: У нас всех есть планы обслуживания, сторонние решения или что-то еще, чтобы убедиться, что у нас есть резервные копии наших систем. Каким бы решением вы ни пользовались, сделайте это привычкой проверять его так часто, как только можете, находясь на дежурстве. Убедитесь, что резервные копии обрабатываются правильно. Если вы делаете это ежедневно, находясь на дежурстве, вероятность того, что у вас не будет резервной копии в течение нескольких дней, значительно уменьшится. К сожалению, большинство компаний, которые выполняют эту задачу, обычно делают это после того, как не находят резервных копий в течение некоторого времени. Не допустите, чтобы это случилось с вами.
- Файлы вывода, специфичные для системы: У вас могут быть отчеты, текстовые файлы, дампы, снимки и т. д., которые выводятся из вашей системы. Они будут использоваться по разным причинам. Определите их, задокументируйте их, а затем отслеживайте их. Убедитесь, что они происходят регулярно и что у вас есть средства для подтверждения этого.
- Размеры журналов и файлов данных: Чтобы контролировать рост ваших систем, вы должны разработать способ отслеживания и контроля размеров файлов вашей базы данных. Простое решение – запустить запрос, который собирает всю эту информацию, и вставить ее в таблицу. Можно также реализовать более сложные решения. Конечный результат должен быть таким, чтобы вы знали размеры этих файлов и могли иметь метрики со временем, чтобы помочь вам планировать и контролировать эти системы. Выполнение этой задачи ежедневно, находясь на дежурстве, поможет отслеживать рост и ожидаемые результаты.
- Доступное пространство / Свободное пространство на дисках: У нас могут быть другие процессы, которые занимают место на наших серверах. Возможно, они находятся на ваших дисках с файлами данных. Если это так, вам нужно отслеживать свободное пространство, чтобы убедиться, что ваши базы данных не столкнутся с проблемой нехватки места. Мне это случалось на простых серверах баз данных, и результаты часто бывают непредсказуемыми. Эта задача может быть неактуальной для всех ваших систем или серверов баз данных. Однако, я считаю, что стоит обратить на это внимание и подумать, по крайней мере, чтобы исключить ее как необходимую задачу. Если это необходимо, добавьте это в свои обязанности дежурного.
- Проверка состояния репликации: Если у вас есть репликация на ваших системах, как вы ее мониторите? Как вы знаете, что она функционирует должным образом? А что насчет задержки? Можете ли вы определить, какая задержка наблюдается во время пиковых часов по сравнению с непиковыми? У вас может быть сторонняя репликация или встроенная репликация. Определите наилучший способ ее мониторинга и задокументируйте его. Сбор данных, связанных с этим, и создание базовой линии поможет решить будущие проблемы.
- Сканирование журналов SQL Server: Часто пропускается простое действие – просмотр журналов SQL Server. Сделайте это привычкой сканировать эти журналы, и вы скоро станете более компетентными в отношении журналов и того, что они могут нам научить. Сделайте это привычкой просматривать их регулярно и документировать то, что вы видите.
- Другие интересные заметки: Во время вашей смены дежурства вы можете столкнуться с необычными ситуациями, которые нужно отметить. Убедитесь, что вы комментируете их и документируете. Другие люди будут очень благодарны за ваши заметки и наблюдения об этих странных событиях. Если они повторяются, вы можете добавить их в вышеуказанный список.
- Специфические потребности: Поскольку ваша компания будет иметь свои специфические потребности, вам нужно будет придумать больше таких задач. Возможно, у вас есть элементы, которых нет в этом списке, и вы хотите добавить их в свои обязанности дежурного. Поделитесь ими с нами и с другими администраторами баз данных в вашей компании. Если мы сможем уделить время, когда мы не заняты решением проблем дня, мы сможем лучше собрать свои мысли и разработать решения, которые сделают нашу работу более простой, автоматизированной и успешной. Это важный шаг, чтобы не постоянно тушить пожары, а иметь план действий для решения проблем по мере их возникновения. Ведение записей о таких задачах и их результатах – надежный способ увидеть закономерности и способы устранения этих неприятных проблем, которые всегда кажутся отодвигаемыми на второй план. Создавая метрики для измерения своей работы, вы сможете больше времени уделять важным задачам, а не только исправлять проблемы по мере их возникновения. Нет ничего лучше, чем “знать”, что ваши системы здоровы и иметь возможность это доказать.
Следуя этим обязанностям дежурного и ведя записи о задачах и их результатах, вы можете обеспечить доступность и работоспособность ваших систем SQL Server. Мониторинг событий ошибок ОС, резервных копий, файлов вывода, размеров журналов и файлов данных, свободного пространства на дисках, состояния репликации, журналов SQL Server и других интересных заметок поможет вам выявить и решить проблемы до того, как они станут критическими. Кроме того, настройка этих обязанностей в соответствии с конкретными потребностями вашей организации дополнительно улучшит вашу способность проактивно управлять вашими системами.
Помните, что создание метрик и базовых линий позволит вам больше времени уделять важным задачам и избежать постоянного тушения пожаров. Наличие плана действий и задокументированных задач позволит вам эффективно и эффективно решать проблемы. С хорошо поддерживаемой системой вы можете быть уверены, что ваши системы SQL Server здоровы и доступны.