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

  • Вид работы:
    Статья
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    974,37 Кб
  • Опубликовано:
    2016-12-10
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Пензенский государственный технологический университет (г. Пенза, Россия)











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


Чинков Михаил Юрьевич

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

Для отслеживания процесса работы веб-сервиса основной практикой является просмотр журнальных файлов (логов). Логи - хранилища текстовых данных о событиях в системе, записанных в строго определенном формате в определенный файл. Наиболее простым способом является удаленный доступ к серверу и чтение журнальных файлов внутри сервера. Однако данный подход неприменим к работе над крупными веб-сервисами, так как имеет ряд недостатков.

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

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

Проблема большого размера логов, которые постепенно заполняют дисковое пространство сервера и увеличивают нагрузку как на один сервер, так и на всю инфраструктуру в целом.

Проблема управления множеством логов в инфраструктуре. Чаще всего веб-приложение представляет собой не один монолитный сервер, а множество небольших сервисов, каждый из которых имеет отдельный журнальный файл, а также внешние сервисы, мониторинг которых также необходимо осуществлять.

Решением всех вышеперечисленных проблем является реализация централизованной системы сбора журнальных файлов. По данной системой подразумевается отдельный сервер, который принимает по отдельному TCP порту события из клиентов системы в режиме реального времени. Основным преимуществом данной системы является агрегация информации о системе в режиме реального времени, а также приведение логов инфраструктуры в читаемый формат, доступный в удобном для участников разработки сервиса месте.

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

клиент сбора логов Filebeat, следящий за обновлением определенных журнальных файлов и отсылающий новые события напрямую на сервер;

утилита обработки логов Logstash, основными задачами которой является обработка полученных от клиентов событий, индексирование событий и запись событий в базу данных. Дополнительно утилита может по заданному условию оповещать о конкретных событиях в системе, предварительно интегрируясь со средствами коммуникации;

документо-ориентированная база данных ElasticSearch, которая обеспечивает долговременное хранение логов, полученных от Logstash, и максимально быстрый поиск событий по полям и индексам;

система визуализации событий Kibana, которая представляет собой веб-интерфейс поиска и чтения логов с возможностью построения необходимых графиков, гистограмм, карт и агрегации всех перечисленных средств визуализации в единое окно (dashboard).

Дополнительно в систему интегрирован прокси-сервер Nginx, которые перенаправляет все запросы со стандартного 80 порта на 5601 TCP порт, который прослушивает система Kibana.

Архитектура стека ELK наглядно продемонстрирована на рисунке 1. Дополнительно стоит отметить, что описываемая система является полностью бесплатной с публично доступным открытым исходным кодом. Единственной статьей расходов на систему является аппаратное обеспечение в виде отдельной машины, на которой работают компоненты стека ELK.

Рисунок 1 - архитектура стека ELK как системы сбора журнальных файлов

В ходе исследования была проведена реализация ELK стека в инфраструктуре современного веб-сервиса. Целевой сервис состоит из нескольких компонентов - основного приложения, платежного шлюза, системы обработки изображений и т.д. - которые необходимо в одинаковой степени внимательно отслеживать. Реализация стека ELK состояла из нескольких шагов:

установка и настройка клиента Filebeat на сервере системы для тестирования полноценных рабочих процессов;

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

автоматизированная установка и конфигурация клиентов FIlebeat на всех серверах, являющихся компонентами веб-приложения;

окончательная проверка того, что события поступают в систему со всех серверов.

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

Рисунок 2 - результат реализации стека ELK в инфраструктуре веб-сервиса

инфраструктура стек журнальный файл

Дополнительно стек ELK предоставляет множество возможностей для детализации работы системы. Например, в современном веб-приложении очень важно знать место расположения целевой аудитории и ее изменение со временем. Данную информацию можно определить по IP-адресу, который веб-сервер получает от клиента в процессе обмена данными по протоколу HTTP. Эти данные хранятся в одном из журнальных файлов системы. В системе сбора журнальных файлов можно определить по IP-адресам месторасположение клиентов с помощью скачанной GeoIP-базы данных и вывести географические координаты, полученные в процессе обработки данных, на карту в виде отдельных точек. Таким образом, мы получим ясную картину того, в какой части света у нас находится больше пользователей. Результаты данного процесса отслеживания местоположения пользователей наиболее наглядно представлены на рисунке 3.

Рисунок 3 - карта расположения пользователей в стеке ELK

инфраструктура стек журнальный файл

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

Список литературы

1. Немет Э., Снайдер Г., Хейн Т.Р., Уэйли Б. Unix и Linux. Руководство системного администратора [Текст] // Вильямс. - 2012. - С. 1157-1180.

2. Limoncelli T. The Practice of Cloud System Administration: Designing and Operating Large Distributed Systems, Volume 2 [Текст] // - 2015. - С. 243-275.

Похожие работы на - Использование системы сбора журнальных файлов для контроля IT-инфраструктуры

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!