ѕоговорим?јлиса это умеет

ћерион Ќетворкс

5 минут чтени€

“акой большой и интересный инструмент - а разворачивать как?

¬ одной из предыдущих статей мы знакомились с таким инструментом разработчика, как ELK. —егодн€ мы разберемс€, как правильно подготовить этот комплекс дл€ практической работы.

ƒл€ начала напомним, что ELK это один из наиболее удобных инструментов разработчика, предназначенный дл€ быстрого вы€влени€ неполадок в работе объемных программ путем сбора и анализа логов. Ётот комплекс состоит из трех приложений: поисковика Elasticsearch, сборщика данных Logstash и визуализатора Kibana. ¬есь комплекс разрабатываетс€ компанией Elastic.

ќзнакомимс€ с системными требовани€ми. Ќа каждом из серверов в системе рекомендуетс€ иметь не менее 8 физических €дер и не менее 48 √б оперативной пам€ти.  роме того, если данные планируетс€ собирать с крупной системы, то объем внутренней пам€ти будем оценивать по принципу "чем больше тем лучше". 8 “б это рекомендуемые требовани€, но этот показатель может варьироватьс€. Ќу и, разумеетс€, чем выше скорость соединени€ между серверами - тем быстрее будет проводитьс€ обработка информации. –екомендуемый показатель - 1√б/с. —истема из трех таких серверов позволит обрабатывать до тыс€чи событий в секунду, собирать и отображать 95% данных за отдельные периоды времени (5 минут, сутки),хранить данные до 90 дней и обслуживать до 10 клиентов по протоколу HTTP одновременно.

ѕоскольку все элементы данного решени€ реализованы на Java, первым делом нужно установить актуальную версию Oracle Java. “акже рекомендуетс€ изучить дополнительную информацию о компонентах ELK на предмет совместимости версий.

≈сли на ¬ашей рабочей станции установлены Ubuntu или Debian, устанавливаем соединение с репозиторием дл€ скачивани€ Oracle Java. ≈сли вы пользуетесь CentOS то качаем программную среду на сервер с сайта разработчика. ѕосле того, как процесс установки завершитс€ рекомендуетс€ проверить актуальную версию с помощью соответствующей команды консоли. ≈сли все хорошо, то это значит, что почва подготовлена, и можно переходить к следующему этапу

ј им станет скачивание и установка поискового инструмента Elasticsearch. Ёто также не вызовет особой сложности достаточно скопировать в систему публичный ключ репозитори€, установить с ним соединение (пользователи Debian и Ubuntu могут столкнутьс€ с отсутствием загрузочного пакета apt-transport-https его нужно будет установить дополнительно), скачать актуальную версию Elasticsearch и запустить процесс установки. „тобы работа приложени€ была корректной, его стоит добавить в автозагрузку. «атем провер€ем, штатно ли прошла установка, запустив программу.

»так, все запустилось нормально. ћожно переходить к этапу конфигурировани€ Elasticsearch. Ёто не займет много времени нужно будет отредактировать пару строк в файле конфигурации /etc/elasticsearch/elasticsearch.yml. ¬о-первых, чтобы не собирать лишнюю информацию, указываем хост локального интерфейса, через который будет передавать данные Logstash (по умолчанию, данные собираютс€ со всех сетевых интерфейсов), а во-вторых, указываем путь к хранилищу данных, откуда мы и будем с ними работать. –екомендуетс€ выделить под хранилище значительные объемы пам€ти чем сложнее проект, тем больше будут весить собираемые логи. ѕосле завершени€ процесса настройки перезапускаем и провер€ем программу.

ƒалее нас ждет установка веб-панели Kibana. Ётот процесс почти не отличаетс€ от установки Elasticsearch, ключи репозиториев будут одинаковыми. ¬ целом, все то же самое устанавливаем соединение с репозиторием, скачиваем, устанавливаем, добавл€ем в автозагрузку, запускаем, провер€ем. —тоит обозначить, что приложение загружаетс€ довольно долго, поэтому проверку лучше осуществить через пару минут после отдачи команды на запуск приложени€.

–едактирование настроек Kibana можно осуществить через файл /etc/kibana/kibana.yml. «десь нас интересует строка с указанием интерфейса, который будет "слушать" Kibana. Ёто могут быть все интерфейса, либо один определенный в данном случае нужно будет указать конкретный ip-адрес нужного сервера. ƒалее проверим сам веб-интерфейс, дл€ этого указываем адрес - например, http://10.1.4.114:5601.

Ќаконец, перейдем к этапу установки Logstash. «десь все то же самое, только перед проверочным запуском программу нужно настроить. ћожно отредактировать основной файл настроек /etc/logstash/logstash.yml, но рациональнее будет создать несколько файлов конфигурации в директории /etc/logstash/conf.d, чтобы группировать настройки по назначению.

—оздаем файлы input.conf и output.conf. ¬ первом файле мы указываем порт, на который будем принимать информацию, а также параметры ssl, если в этом есть необходимость. ¬о втором файле указываем параметры передачи данных в Elasticsearch. ƒанные лучше передавать под указанным дополнительно индексом, также использу€ маску в виде даты. “акже можно отключить функцию отправки данных в общий лог системы, чтобы не занимать место в хранилище дублированными фрагментами информации.

 роме этого, потребуетс€ создать файл с параметрами обработки данных. ƒело в том, что не всегда удобно работать с полным объемом, и приходитс€ делать выборку ключевых данных. —оздаем файл filter.confи указываем параметры, на основании которых будут фильтроватьс€ необходимые данные. “акже при необходимости можно настроить, например, корректное отображение даты или географического местоположени€ сервера, с которого будет поступать информаци€. «авершив конфигурирование, можно проверить работу программы, запустив ее и просмотрев внутренний файл лога /var/log/logstash/logstash-plain.log.

»нтерфейс Kibana

ќсновной пакет программ установлен теперь осталось установить программы, которые будут отправл€ть данные, на сервера.  омпани€ Elastic предлагает использовать Filebeat, но можно воспользоватьс€ и альтернативными вариантами. «десь процесс установки аналогичен предыдущим. ‘айл настроек по умолчанию позвол€ет сразу работать с программой, но можно и подредактировать его при необходимости.

≈сли все сделано правильно, программный комплекс уже начал собирать логи. —ледующим шагом будет открытие веб-интерфейса Kibana и настройка паттерна индекса, чтобы лог открывалс€ в веб-интерфейсе по умолчанию, а в сохран€емых данных не было путаницы.


ѕолезна ли ¬ам эта стать€?


Ёти статьи могут быть вам интересны: