1 Существующие системы 13
1.1 Функции систем мониторинга 13
1.2 Microsoft SCOM 17
1.3 Zabbix 20
1.4 Nagios 25
1.6 Сравнительный анализ свободно распространяемых систем 30
2 Разработка системы мониторинга 33
2.1 Основные задачи 33
2.2 Требования к мониторингу 35
2.3 Общие сведения о построении мониторинга 37
2.4 Общая структура скриптов. Специальные параметры 43
2.5 Сведения о дополнительных модулях 44
3 Практическая реализация 58
3.1 Основные показатели 58
3.1.1 Свободное место на диске 58
3.1.2 Проверка задач в планировщике заданий 60
3.1.3 Проверка оперативной памяти 62
3.1.4 Очистка логов 63
3.1.5 Проверка хотфиксов 65
3.1.6 Синхронизация времени 65
3.1.7 Проверка доступности сайта 68
3.1.8 Память, занимаемая установщиком модулей 69
3.1.9 Место в Recycle.Bin 70
3.2 Специализированные показатели. Подключение библиотек 72
3.2.1 Фактор репликации Apache Cassandra 72
3.2.2 Проверка доступности серверов Cassandra 74
3.3 Инвентаризация оборудования 77
4 Результаты внедрения мониторинга 81
Заключение 85
Список использованных источников 88
Приложение А. Листинг скрипта проверки доступного места на диске 91
Приложение Б. Листинг скрипта проверки статуса назначенных заданий 94
Приложение В. Листинг скрипта проверки состояния оперативной памяти 96
Приложение Г. Листинг скрипта очистки логов 97
Приложение Д. Листинг программы проверки хотфикса 99
Приложение Е. Листинг скрипта проверки синхронизации времени 101
Приложение Ж. Листинг скрипта поверки статуса фронтов 104
Приложение З. Листинг скрипта поверки статуса установщика модулей 106
Приложение И. Листинг скрипта проверки статуса корзины 107
Приложение К. Листинг скрипта проверки фактора репликации Apache Cassandra 109
Приложение Л. Листинг скрипта поверки статуса кольца Apache Cassandra 113
Приложение М. Листинг скрипта отправки смс при восстановлении работы 116
Приложение Н. Листинг скрипта инвентаризации 119
РЕФЕРАТ
Мониторинг в информационной структуре, будь то маленькая компания или огромный дата-центр, нужен, чтобы системные администраторы были оповещены о поломках и проблемах в инфраструктуре раньше или хотя бы одновременно с пользователями. Необходимость прогнозирования, а тем самым и предотвращения, поломок, оповещения о них и хранения информации о состоянии систем и служб в любой ИТ системе обеспечивает актуальность данной работы
Анализ актуальности обусловили выбор темы исследования: «Мониторинг серверного оборудования и приложений».
Гипотеза исследования состоит в том, что существую разработки, требования отслеживания которых не могут быть удовлетворены с помощью существующих пакетов мониторинга, то есть те, для которых оправдана разработка собственного проекта.
Целью исследования является разработка и реализация проекта мониторинга служб и инфраструктуры.
Для достижения поставленной цели необходимо решить следующие задачи:
— разработка общего перечня требований к мониторингу;
— исследование существующих решений и обоснованный выбор основы будущего мониторинга;
— разработка списка конкретизированных требований к будущему мониторингу;
— практическая реализация мониторинга;
— тестирование разработанного приложения;
— внедрение в эксплуатацию и проверка эффекти вности разработки.
Объектом исследования в являются различные ИТ инфраструктуры, предметом исследования - способы мониторинга этих инфраструктур (в данной работе приводится пример реализации мониторинга в службе поддержки серверов компании СКБ Контур.)
Методы исследования включают в себя:
1) методы теории моделирования;
2) методы алгоритмизации и программной реализации математических моделей;
3) эксперимент на реальных и модельных данных;
4) метод анализа и классификации;
5) метод прогнозирования результатов.
Теоретической основой исследования стали:
- отечественные и зарубежные исследования по проблеме слежения за состоянием серверных инфраструктур: как небольших проектов, так и целых компаний.
- современные концепции, а также предложенные различными компаниями решения, раскрывающие сущность текущих возможностей по мониторингу приложений и оборудования.
Теоретическая и практическая значимость работы объясняется невозможностью слежения за некоторыми важными показателями работоспособности сервисов и серверов с помощью стандартных средств мониторинга, или же высокой трудоёмкостью таких методов. Созданный мониторинг с минимальными затратами и невысокой трудоёмкостью решает поставленные задачи.
На защиту выносятся следующие положения:
1) Требования к мониторингу конкретного проекта;
2) Требования к мониторингу конкретного проекта и обоснование разработки собственного решения;
3) Суть, достоинства и результаты практического внедрения разработанного решения.
Апробация результатов исследования и публикации. Основные результаты исследования были применены для разработки концепции мониторинга, а также внедрены как часть реальных проектов в компании СКБ «Контур».
Структура и объём работы. Выпускная квалификационная работа состоит из введения, 4 глав и заключения, изложенных на 123 страницах, а также списка литературы и приложений. В работе имеется 18 рисунков, 10 таблиц и 36 листингов. Список литературы содержит 33 наименования.
Мониторинг в информационной структуре, будь то маленькая компания или огромный дата-центр, нужен, чтобы системные администраторы были оповещены о поломках и проблемах в инфраструктуре раньше или хотя бы одновременно с пользователями. Необходимость прогнозирования, а тем самым и предотвращения, поломок, оповещения о них и хранения информации о состоянии систем в любой ИТ системе обеспечивает актуальность данной работы. По сути своей мониторинг - это комплекс быстрого нахождения проблемы, оповещения о ней администраторов, а также диагностики, дающий полную и точную информацию о поломке.
Объектом исследования в являются различные ИТ инфраструктуры, предметом исследования - способы мониторинга этих инфраструктур (в данной работе приводится пример реализации мониторинга в службе поддержки серверов компании СКБ Контур.)
Цель работы - создание уникальной системы мониторинга, полностью подходящей под требования конкретного проекта компании, с минимальными затратами.
Задачи, решаемые в связи с указанной целью:
- анализ достоинств и недостатков существующих систем мониторинга;
- сбор требований к разрабатываемой системе;
- поиск оптимального пути реализации системы.
Практическая значимость и новизна работы объясняется невозможностью слежения за некоторыми важными показателями работоспособности сервисов и серверов с помощью стандартных средств мониторинга, или же высокой трудоёмкостью таких методов. Созданный мониторинг с минимальными затратами и невысокой трудоёмкостью решает поставленные задачи.
Структура работы выглядит следующим образом:
Введение раскрывает проблему работы, обуславливает её актуальность (практическую значимость работы), описывает объект и предмет исследования, а также рассказывает и цели и поставленных на пути к ней задачах.
В первой части рассматриваются основные существующие решения для мониторинга, выявляются их положительные и отрицательные стороны, в том числе с точки зрения конкретных требований определённых проектов.
Во второй части работы описываются методы создания собственного мониторинга на основе выбранной системы, аргументируется её выбор.
В третьей части работы подробно рассмотрена практическая реализация важнейших частей системы: базовые скриптовые алгоритмы слежения за состоянием, использование сторонних библиотек.
В последней части описаны механизмы и последствия внедрения разработанной системы мониторинга в реальные функционирующие проекты компании.
В заключении подводятся итоги о достигнутых во время выполнения работы результатах.
Бизнес в любой сфере сильно завязан на доступность и работоспособность его ИТ-инфраструктуры 24/7/365. Чтобы обеспечить эту работоспособность, необходимо заранее выявлять узкие места в конфигурации систем и сетей, а также быстро узнавать о наличии поломки и её причине. Для этих нужд в компаниях, где подобное слежение неосуществимо за счёт только специалистов, принято использовать системы мониторинга.
Системы мониторинга бывают платные и свободно распространяемые, а также различаются по своему наполнению «из коробки», масштабируемости, требуемым ресурсам и уровнем знаний, необходимым для приемлемой настройки.
При выборе, разработке, внедрении систем мониторинга сначала нужно определиться с объектами, которые будут подвергаться слежению, а также критические события и показатели, которые и определят количество оповещений при поломке, частоту сканирования и прочие параметры и последствия. Причём оценивание показателей в первую очередь требуется осуществлять не с точки зрения технического инженера, а с точки зрения конечного пользователя.
Ход выполнения работы полностью соответствовал поставленным во введении задачам. Для начала были выдвинуты общие требования к мониторингу поддерживаемых проектов, обладая списком которых можно было приступить к поиску подходящего готового решения.
Затем подробно рассмотрены различные существующие системы мониторинга серверов от широкого многообразия фирм-разработчиков, проанализированы их положительные и отрицательные стороны, соответствие их сформулированным ранее требованиям.
В итоге, сделан вывод о невозможности или неоптимальности использования вышерассмотренных существующих систем. После чего критерии соответствия мониторинга поставленным задачам в проекте были максимально уточнены, благодаря чему стал возможен выбор оптимальной основы для его создания - уже используемого для других нужд разработки пакета ТеатСНт.
По мере возникновения проблем и новых задач, в проекте разрабатывались разнообразные модули, вёлся поиск дополнительных библиотек и способов интеграции с существующими сервисами как для максимального удобства написания скриптов, так и для отслеживания специфических показателей. Параллельно осуществлялось поэтапное тестирование созданных скриптов и их внедрение в эксплуатацию. В итоге, разработанный мониторинг стал неотрывной частью поддерживаемых проектов, обеспечивающей высокую доступность, отказоустойчивость и информацию о состоянии систем.
В ходе использования созданного мониторинга отделами администрирования и поддержки серверов, разработки программного обеспечения и подразделением аналитиков был отмечен ряд положительных аспектов влияния на проект, а также совершенно неожиданные плюсы продукта:
- повышение отказоустойчивости сервисов, в том числе путём интеграции с ними;
- система позволяет верно определять и планировать пути модернизации проекта и его инфраструктуры, отыскивать «бутылочные горлышки»;
- максимально быстро и точно информирует о возможной или возникшей проблеме;
- использование базы данных мониторинга для различных внешних нужд (например, отчёты аналитического отдела);
- делегирование прав «из коробки»;
- простота интеграции с различными внешними библиотеками и сервисами;
- автоматизация рутинных задач системного администратора;
- минимизация времени простоя и, как следствие, подписание SLA, т.е. выход на новый уровень обслуживания клиентов;
- независимость от виртуализации, программного обеспечения и других факторов, возможность мониторинга специфических показателей;
- минимальное время обучения работы с системой;
- простота делегирования прав доступа и разрешений;
- обнаружение «багов» и необработанных исключений в коде благодаря отчёту о состоянии сервисов;
- простота настройки под конкретное состояние инфраструктуры с помощью встроенных функций TeamCity и специальных параметров;
- полная история доступности сервисов и изменения показателей;
- простота внедрения и масштабируемости.
В целом предлагаемый продукт для мониторинга серверов и служб, а также автоматизации задач и инвентаризации поможет значительно снизить время простоя сервисов, повысить качество услуг предоставляемых клиенту компанией, а также значительно улучшить производительность, избежав, при этом, неоправданных вложений.