Инструкция по настройке и установке ELK стека на Debian 9Для облегчения сбора и анализа логов таких систем существуют различные продукты, одним из примеров которых является и стек ELК
В больших и высоконагруженных системах анализ журнальных файлов (логов) представляется достаточно сложным делом, так как генерируется большой объем информации, иногда также и разбросанной по различным местам. Для облегчения сбора и анализа логов таких систем существуют различные продукты, одним из примеров которых является и стек ELК.
Поисковый движок ElasticSearch для анализа логов;
Logstash - демон пересылки логов, позволяет перенаправлять различные журналы для дальнейшего анализа, может фильтровать эти журналы по определенным признакам;
Kibana - интерфейс для анализа содержимого лог-файлов и наглядного представления полученной информации.
Обновим пакетную базу Debian используя apt-get update.
apt-get update
Предварительно установим платформу JAVA. Для Debian берём пакет openjdk и устанавливаем его через apt.
apt-get install openjdk-8-jre
Также скачаем и установим apt-transport-https - это пакет, позволяющий подключать репозитории по протоколу https (обычно репозитории подключаются через http или ftp),
Создадим файл с описанием репозитория (т.е сам репозиторий).
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee -a /etc/apt/sources.list.d/elk.listфзе-пуе гзвфеу
Затем обновим еще раз информацию из репозиториев, чтобы получить список доступных пакетов с учетом нового репозитория.
apt-get update
Установим интересующие нас пакеты.
apt-get install elasticsearch logstash kibana
После этого можно начинать настройку. Рассмотрим для примера настройку анализа файлов журналов локального сервера (на котором установлен стек ELK). Раскомментируем в файле /etc/elasticsearch/elasticsearch.yml строчки network.host и http.port и впишем нижеприведенные значения. Они указывают с каких хостов и по какому порту elasticsearch будет принимать соединения. В нашем случае localhost.
network.host: localhosthttp.port: 9200
После этого запускаем elasticsearch и включаем его в автозагрузку.
input - какие данные и где брать для анализа.. В данном случае это файл /var/log/messages и все файлы *.log из каталога /var/log
output - куда пересылать данные - в данном случае это elasticsearch на localhost (т.е на этой же машине)
filter необязательный раздел задающий правила фильтрации исходных данных раздела input
Теперь можно запустить logstash.
systemctl enable logstashsystemctl start logstash
Последним настраивается web-интерфейс kibana. В файле /etc/kibana/kibana.yml необходимо задать как-минимум адрес на котором будет доступна kibana и url elasticsearch.
Теперь запустим Kibana и поместим ее в автозапуск.
systemctl enable kibanasystemctl start kibana
Теперь можно зайти в Kibana по указанному адресу и порту 5601. Если необходим доступ снаружи, то в брандмауэре должны быть настроены разрешения на соединение с портом 5601. http://185.125.46.34:5601