Elk настройка centos 7

Обновлено: 02.07.2024

Надежное решение для поиска, анализа и визуализации данных.

Elasticsearch распространяет поисковую и аналитическую систему RESTful NoSQL на основе Lucene, облегчённый конвейер обработки данных, Logstash используется для управления событиями и журналами из разных источников, а Kibana, который является веб-приложением, используется для визуализации данных, который работает поверх Elsticsearch.

Минимальные требования

Процессор: 2
Оперативная память: 4Gb
ОС: CentOS/Debian/Ubuntu

В данной статье будет рассмотрен вариант с установкой ELK на систему CentOS 7.
Поскольку многие структуры ELK построены на Java, то память - основной ресурс потребления и чем её больше, тем лучше. Идеальное решение - 64Gb

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

Дисковая подсистема так же важна, особенно если строится кластерное решение. Использовать зеркалирование не обязательно, поскольку Elastic прекрасно кластеризуется, а сохранив RAID0 можно получить существенный прирост в скорости.
Всё рекомендую использовать SSD-накопители при интенсивной записи.

Установка Java

Компоненты стека ELK работают на Java. Поддерживает как OpenJDK, так и Oracle Java.
Я рекомендую использовать Oracle JDK 1.8.

Загружаем RPM с последней стабильной версией, на момент написания статьи - это 8u201.

Установим пакет в систему:

Установка Elasticsearch

Elasticsearch — масштабируемая поисковая система полнотекстового поиска и аналитики данных с открытым исходным кодом. Данная утилита позволяет в режиме реального времени хранить, искать и анализировать большие объемы данных.

Приступим к установке компонентов ELK.

Установим и настроим Elasticsearch.

Добавим ключ elastic.co в систему:

Загружаем пакет Elasticsearch с официального сайта:

Установим пакет в систему:

Выполняем базовую конфигурацию Elasticsearch

Редактируем файл /etc/elasticsearch/elasticsearch.yml

Раскомментируем сетевые настройки сервиса:

Сохраняем файл конфигурации.

Редактируем настройки Elasticsearch

Вносим изменения в конфигурационный файл сервиса /usr/lib/systemd/system/elasticsearch.service для конфигурации блокировки памяти.

Раскомментируем или добавим параметр:

А так же расскоментируем параметр MAX_LOCKED_MEMORY в файле /etc/sysconfig/elasticsearch

Перезагружаем настройки systemd, добавляем сервис в автозапуск и стартуем:

Проверяем состояние работы сервиса

Установка Kibana

Kibana — утилита с открытым исходным кодом которая визуализирует работу Elasticsearch. Он используется для взаимодействия с данными, хранящимися в индексах Elasticsearch. Kibana имеет веб-интерфейс, который позволяет быстро создавать и обмениваться динамическими панелями мониторинга, отображающими изменения в запросах Elasticsearch в реальном времени.

Загружаем пакет Kibana с официального сайта:

Установим пакет в систему:

Редактируем настройки Kibana

Редактируем конфигурационный файл Kibana /etc/kibana/kibana.yml . Оставляем работать сервис Kibana на локальном IP, а проксировать приложение будем при помощи NGINX.

Сохраняем конфигурационный файл и запускаем сервис:

Проверяем состояние раборты сервиса

Установка Logstash

Logstash — механизм сбора событий, который обеспечивает конвейер в реальном времени. Он может принимать данные из нескольких источников и преобразовывать их в документы JSON.

Загружаем пакет Logstash с официального сайта:

Установим пакет в систему:

Запускаем сервис и добавляем в автозагрузку:

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

Установка NGINX

Добавляем CentOS 7 Nginx репозиторий.

Установка Nginx.

После проверки успешного запуска, добавим сервис в автозагрузку при старте системы.

Если в двух словах, Elasticsearch предоставляет механизм поиска, Kibana — веб-интерфейс для работы с Elasticsearch, Logstash — инструмент для сбора логов и их передачи в Elasticsearch. Таким образом, связка Elasticsearch + Kibana + Logstash (или ELK Stack) является инструментом по сбору и хранению журналов операционных систем. При этом поддерживаются разные платформы (Windows, Linux, BSD).

В данной инструкции мы рассмотрим пример установки серверной части ELK на Linux CentOS. Также мы настроим сбор логов с CentOS, Ubuntu, Windows.

Подготовка сервера

Прежде чем начать, подготовим к установке и настройке наш сервер.

1. Установка wget

В процессе установки пакетов нам понадобиться скачивать установочные файлы. Для этого в системе должен быть установлен wget:

yum install wget

2. Настройка брандмауэра

Открываем порты для работы ELK:

firewall-cmd --permanent --add-port=/tcp

3. SELinux

Отключаем SELinux двумя командами:

* первая команда выключит систему безопасности до перезагрузки сервера, вторая — навсегда.

Установка Java

Все программные продукты стека ELK разработаны на Java, поэтому не будут работать без соответствующей платформы на сервере. Для ее установки необходимо загрузить дистрибутив с сайта Oracle и выполнить его установку.

Переходим на страницу загрузки Java — на открывшейся странице принимаем лицензионное соглашение:

Лицензионное соглашение на Oracle Java SE

После появятся ссылки на платформу — кликаем по ссылке для скачивания RPM пакета:

Загрузка Java SE для Linux

Нас перебросит на страницу ввода логина и пароля — необходимо авторизоваться или зарегистрироваться. После начнется процесс загрузки пакета, и когда он завершится, перекидываем файл на сервер CentOS, например, при помощи WinSCP.

Устанавливаем скачанный пакет командой:

После окончания установки можно ввести команду:

Она должна вернуть, примерно, следующее:

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)

Elasticsearch

Переходим на страницу загрузки эластика и копируем ссылку на последнюю версию пакета RPM:

Скачиваем ссылку на RPM пакет для Elasticsearch

. и скачиваем по ней сам пакет:

* в моем случае была версия 7.3.2.

После устанавливаем эластик на наш сервер:

rpm -ivh elasticsearch-*

Разрешаем автозапуск сервиса и запускаем его:

systemctl enable elasticsearch

systemctl start elasticsearch

Kibana

Переходим на страницу загрузки Kibana и скачиваем ссылку на последнюю вервию пакета RPM:

Скачиваем ссылку на RPM пакет для Kibana

. и скачиваем по ней пакет для установки kibana:

Открываем на редактирование конфигурационный файл:

Редактируем параметр host:

* в данном примере мы говорим, что сервер должен слушать на интерфейсе 192.168.1.10.

Разрешаем автозапуск Kibana и запускаем ее:

systemctl enable kibana

systemctl start kibana

Мы должны увидеть страницу приветствия с заголовком «Welcome to Kibana».

Logstash

Процесс установки Logstash аналогичен — переходим на страницу загрузки программного продукта, копируем ссылку на пакет RPM:

Скачиваем ссылку на RPM пакет для Logstash

Скачиваем пакет на нашем сервере:

. и устанавливаем его:

rpm -ivh logstash-*

Разрешаем автозапуск и стартуем сервис:

systemctl enable logstash

systemctl start logstash

Настройка Logstash

Настройки для логстэша хранятся в каталоге /etc/logstash/conf.d в файлах формата JSON. Для конфигурации используются следующие секции:

  1. input (входные данные).
  2. filter (фильтры).
  3. output (выходные данные).

Для каждой из них мы создадим свой файл.

* в данном примере мы настроили logstash для приема логов на порту 5044.

Данное руководство поможет установить Elasticsearch 2.2.x, Logstash 2.2.x и Kibana 4.4.x на сервер CentOS 7, а также настроить полученный программный стек для сбора и визуализации системных логов (с помощью Filebeat 1.1.x).

Logstash – это открытый инструмент для сбора, обработки и централизованного хранения логов. Kibana – это веб-интерфейс для поиска и визуализации логов, индексированных с помощью Logstash. Оба эти инструмента основаны на поисковом движке Elasticsearch, который используется для хранения логов.

Централизованное логирование позволяет быстро выявить и устранить проблемы сервера или приложений.

Примечание: Logstash может собирать все типы логов, но данное руководство ограничивается системными логами.

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

  • Logstash: серверный компонент, который обрабатывает входящие логи.
  • Elasticsearch: хранит все логи.
  • Kibana: веб-интерфейс для визуализации логов, который проксируется с помощью Nginx.
  • Filebeat: клиентский компонент, который передаёт логи в Logstash.

Примечание: Аналогичное руководство для Ubuntu 14.04 можно найти здесь.

Требования

  • Сервер CentOS 7 для стека ELK (чтобы настроить сервер, читайте это руководство).
  • Объем CPU, RAM и хранилища сервера ELK зависит от объема логов, которые вы будете собирать. В данном руководстве используется сервер с такими характеристиками: RAM: 4GB, CPU: 2.
  • Несколько дополнительных серверов, чьи логи вы сможете собрать.

Установка Java 8

Для работы Elasticsearch и Logstash нужно установить Java. Установите Oracle Java 8 (согласно рекомендациям Elasticsearch). В целом, OpenJDK тоже подойдёт.

Примечание: Следуя инструкциям, приведенным в данном разделе, вы принимаете условия лицензионного соглашения Oracle для Java SE.

Перейдите в домашний каталог и загрузите Oracle Java 8 JDK RPM:

sudo yum -y localinstall jdk-8u73-linux-x64.rpm

Примечание: Если вы устанавливаете другую версию пакета, откорректируйте номер версии в команде.

Пакет Java установлен в /usr/java/jdk1.8.0_73/jre/bin/java и ссылается на /usr/bin/java.

Установка Elasticsearch

Чтобы установить Elasticsearch, добавьте файл репозиторий этого пакета.

Чтобы добавить GPG-ключ Elasticsearch, введите:

Создайте новый репозиторий для Elasticsearch с помощью этой команды:

sudo yum -y install elasticsearch

Отредактируйте конфигурационный файл Elasticsearch:

sudo vi /etc/elasticsearch/elasticsearch.yml

Сохраните и закройте elasticsearch.yml. Запустите Elasticsearch:

sudo systemctl start elasticsearch

Чтобы настроить автозапуск Elasticsearch, введите:

sudo systemctl enable elasticsearch

Установка Kibana

Kibana и Elasticsearch используют один GPG-ключ.

Создайте репозиторий для Kibana:

sudo vi /etc/yum.repos.d/kibana.repo

Добавьте в него:

Сохраните и закройте файл. Установите Kibana:

sudo yum -y install kibana

Веб-интерфейс Kibana успешно установлен.

Откройте конфигурационный файл Kibana.

sudo vi /opt/kibana/config/kibana.yml

Найдите строку server.host и замените указанный в ней IP-адрес (по умолчанию 0.0.0.0) значением localhost:

Сохраните и закройте файл. Теперь интерфейс Kibana доступен только с локального хоста. Для внешнего доступа к нему будет использоваться обратный прокси-сервер Nginx.

Включите и запустите сервис Kibana:

sudo systemctl start kibana
sudo chkconfig kibana on

Установка Nginx

Теперь Kibana прослушивает localhost. Чтобы получить внешний доступ к сервису, настройте Nginx как обратный прокси-сервер.

Примечание: Если у вас уже есть установленный сервер Nginx, используйте этот экземпляр. Вам нужно только настроить доступ к Kibana для Nginx (измените значение host в файле /opt/kibana/config/kibana.yml, указав IP-адрес сервера Kibana). Также рекомендуется включить SSL/TLS.

Добавьте репозиторий EPEL:

sudo yum -y install epel-release

С помощью htpasswd создайте аккаунт администратора, у которого будет доступ к веб-интерфейсу Kibana (в руководстве он называется kibanaadmin, но вы можете использовать другое имя).

Введите пароль пользователя. В дальнейшем с помощью этого пароля вы сможете получить доступ к интерфейсу.

Откройте конфигурационный файл Nginx по умолчанию в текстовом редакторе.

sudo vi /etc/nginx/nginx.conf

Сохраните и закройте файл.

Создайте новый виртуальный хост Nginx:

sudo vi /etc/nginx/conf.d/kibana.conf

Вставьте в файл следующий код. В строке server_name укажите имя своего сервера.

Запустите и включите сервис Nginx:

sudo systemctl start nginx
sudo systemctl enable nginx

Примечание: В руководстве подразумевается, что SELinux отключен. Если это не так, запустите следующую команду, иначе Kibana не сможет работать:

Установка Logstash

Пакет Logstash и Elasticsearch используют один и тот же GPG-ключ. Создайте репозиторий для Logstash:

sudo vi /etc/yum.repos.d/logstash.repo

Добавьте в файл:

Сохраните и закройте файл.

Чтобы установить Logstash, введите:

sudo yum -y install logstash

Генерирование SSL-сертификата

Чтобы сервис Filebeat передавал логи клиентов на сервер ELK, нужно создать SSL-сертификат и ключ. С помощью сертификата Filebeat сможет проверить подлинность сервера ELK. Создайте каталоги для хранения сертификата и закрытого ключа:

sudo mkdir -p /etc/pki/tls/certs
sudo mkdir /etc/pki/tls/private

Теперь у вас есть два варианта: вы можете создать сертификат либо для IP-адреса, либо для доменного имени.

1: Сертификат для IP-адреса

Если у вас нет домена, вы можете указать в сертификате IP-адрес сертификата ELK. Для этого укажите адрес в поле subjectAltName. Откройте конфигурационный файл OpenSSL.

sudo vi /etc/pki/tls/openssl.cnf

Найдите в нём раздел [ v3_ca ] и добавьте в него строку:

subjectAltName = IP: ELK_server_private_IP

Примечание: укажите IP своего сервера ELK.

Теперь вы можете сгенерировать SSL-сертификат и ключ в /etc/pki/tls/ с помощью команд:

cd /etc/pki/tls
sudo openssl req -config /etc/pki/tls/openssl.cnf -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt

Файл logstash-forwarder.crt нужно будет скопировать на все серверы, которые отправляют логи в Logstash. После этого нужно завершить настройку Logstash.

2: Сертификат для домена

Если у вас есть доменное имя, направленное на сервер ELK, вы можете указать это имя в сертификате SSL.

Чтобы сгенерировать сертификат, введите команды:

cd /etc/pki/tls
sudo openssl req -subj '/CN=ELK_server_fqdn/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt

Примечание: Вместо ELK_server_fqdn укажите доменное имя сервера ELK.

Файл logstash-forwarder.crt нужно скопировать на все серверы, которые отправляют логи в Logstash. После этого нужно завершить настройку Logstash.

Настройка Logstash

Конфигурационные файлы Logstash составляются в формате JSON и хранятся в /etc/logstash/conf.d. Конфигурации состоят из трех частей: входных данных (input), фильтров (filter) и выходных данных (output).

Создайте файл 02-beats-input.conf для входных данных filebeat.

sudo vi /etc/logstash/conf.d/02-beats-input.conf

Добавьте в него конфигурацию:

input beats port => 5044
ssl => true
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
>
>

Сохраните и закройте файл. Он задаёт настройки входных данных beats, которые будут прослушиваться на tcp-порте 5044 и использовать SSL-сертификат и ключ.

sudo vi /etc/logstash/conf.d/10-syslog-filter.conf

Добавьте в файл такой код:

Сохраните и закройте файл. Этот фильтр собирает логи, отмеченные приложением Filebeat как syslog, а затем использует grok, чтобы обработать входящие логи и структурировать их.

Осталось создать только 30-elasticsearch-output.conf:

sudo vi /etc/logstash/conf.d/30-elasticsearch-output.conf

Добавьте настройки выходных данных:

Сохраните и закройте файл. С помощью этого файла Logstash будет хранить полученные данные в Elasticsearch (который запущен на localhost:9200) в индексе filebeat.

Проверьте конфигурации Logstash:

sudo service logstash configtest

Если ошибок нет, команда вернёт:

Если команда обнаружила ошибки, исправьте их и снова запустите команду.

Чтобы обновить настройки, перезапустите Logstash.

sudo systemctl restart logstash
sudo chkconfig logstash on

Загрузка дашборда Kibana

Elastic предоставляет несколько образцов дашбордов Kibana и шаблонов индексов Beats. Загрузите дашборды, чтобы использовать их с индексом Filebeat.

Загрузите архив дашбордов в домашний каталог:

Установите пакет unzip:

sudo yum -y install unzip

Загрузите образец дашборда, визуализацию и шаблоны индексов Beats в Elasticsearch.

cd beats-dashboards-*
./load.sh

Только что вы загрузили такие шаблоны:

  • [packetbeat-]YYYY.MM.DD
  • [topbeat-]YYYY.MM.DD
  • [filebeat-]YYYY.MM.DD
  • [winlogbeat-]YYYY.MM.DD

Загрузка шаблона индексов Filebeat в Elasticsearch

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

Загрузите шаблон Filebeat в домашний каталог:

Затем загрузите шаблон:

Если все прошло успешно, на экране появится:

Теперь сервер ELK может читать данные Filebeat. Настройте Filebeat на всех клиентах.

Настройка Filebeat на клиентских серверах

Примечание: данный раздел нужно выполнить на всех клиентских серверах CentOS or RHEL, данные которых нужно передавать в Logstash на сервер ELK.

Копирование сертификата

На сервере ELK нужно скопировать SSL-сертификат и переместить его копию на клиентский сервер:

scp /etc/pki/tls/certs/logstash-forwarder.crt user@client_server_private_address:/tmp

Примечание: Вместо client_server_private_address укажите внутренний адрес сервера.

Пройдя аутентификацию, убедитесь, что сертификат успешно скопирован. Переместите сертификат в каталог /etc/pki/tls/certs на клиенте.

sudo mkdir -p /etc/pki/tls/certs
sudo cp /tmp/logstash-forwarder.crt /etc/pki/tls/certs/

Установка Filebeat

Добавьте на клиентский сервер GPG-ключ Elasticsearch.

Создайте новый репозиторий для Filebeat:

sudo vi /etc/yum.repos.d/elastic-beats.repo

Добавьте в него такой код:

Сохраните и закройте файл. Установите пакет Filebeat

sudo yum -y install filebeat

Настройка Filebeat

Теперь нужно настроить взаимодействие Filebeat и Logstash.

Примечание: В результате конфигурационный файл Filebeat будет выглядеть так.

Откройте конфигурационный файл Filebeat на клиентском сервере:

sudo vi /etc/filebeat/filebeat.yml

Примечание: Конфигурационный файл Filebeat написан в формате YAML. Этот формат очень чувствителен к отступам и пробелам.

В начале файла вы найдёте раздел prospectors, который определяет, какие логи нужно передавать и как их обрабатывать. Каждая запись лога начинается с дефиса.

Добавьте в этот раздел записи для syslog и auth.log. В paths закомментируйте /var/log/*.log (теперь Filebeat не будет отправлять все файлы с расширением .log).

Найдите строку document_type:, раскомментируйте её и задайте значение syslog:

Теперь Logstash будет собирать только файлы типа syslog.

При желании вы можете добавить другие записи логов в раздел prospector.

Найдите раздел output и строку elasticsearch:, которая настраивает выходные данные Elasticsearch. Удалите ил иполностью закомментируйте этот раздел (до строки logstash:).

Примечание: Вместо ELK_server_private_IP укажите закрытый IP-адрес сервера ELK.

Теперь Filebeat может подключиться к Logstash на сервере ELK через порт 5044.

После строки hosts добавьте:

Теперь Filebeat может использовать SSL-сертификат.

Сохраните и закройте файл.

Запустите и включите сервис Filebeat:

sudo systemctl start filebeat
sudo systemctl enable filebeat

Примечание: Сравните получившиеся конфигурации с этим образцом.

Теперь Filebeat собирает и передаёт syslog и auth.log в Logstash.

Тестирование установки Filebeat

Если установка стека ELK прошла успешно, Filebeat должен собирать логи клиентов и передавать их на сервер ELK. Logstash будет загружать данные Filebeat в Elasticsearchс индексом filebeat-YYYY.MM.DD.

Перейдите на сервер ELK и убедитесь, что Elasticsearch получает данные, запросив индекс Filebeat:

Если команда не вернула ничего, то Elasticsearch не загружает и не индексирует данные. Проверьте настройку на наличие ошибок.

Подключение к Kibana

Настроив Filebeat на всех клиентских серверах, приступайте к настройке веб-интерфейса Kibana.

Откройте в браузере FQDN или IP-адрес сервера ELK. Введите учётные данные администратора (в данном случае он называется kibanaadmin). На экране появится страница, которая предложит выбрать шаблон индекса по умолчанию.

Configure an index pattern

В списке слева выберите filebeat-YYYY.MM.DD и нажмите на зелёную кнопку со звёздочкой.

С помощью интерфейса вы можете искать логи и отображать их. Также можно настроить дашборд.

Для примера попробуйте:

Kibana имеет много интересных и полезных функций: построение графиков, фильтрация и т.п.

Заключение

Вы настроили централизацию логов с помощью Elasticsearch и Logstash, кроме того, вы можете визуализировать их с помощью интерфейса Kibana.

В инструкции описана установка ELK Stack на виртуальный сервер под управлением Centos 7.

Что такое ELK Stack?

«ELK» - это сокращение от трех проектов с открытым исходным кодом: Elasticsearch, Logstash и Kibana. Elasticsearch - это поисковая и аналитическая система. Logstash - это конвейер обработки данных на стороне сервера, который получает данные из нескольких источников одновременно, преобразует их, а затем отправляет в «тайник», подобный Elasticsearch. Kibana позволяет пользователям визуализировать данные с помощью диаграмм и графиков в Elasticsearch.

Первоначальные требования

Минимальные системные требования для нормальной работы ELK - 4Gb RAM и 2 СPU

Установка Java

Для развертывания стека Elastic требуется установка Java. Выполните следующую команду:
yum -y install java-1.8.0

Проверить установленную версию можно с помощью команды:
java -version

Установка и настройка Elasticsearch

С помощью команды rpm загрузите ключ Elasticsearch:

sudo vi /etc/yum.repos.d/elasticsearch.repo

Вставьте в него следующее содержимое и сохраните файл:

Запустите процесс установки:

sudo yum install elasticsearch

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

В файле необходимо раскомментировать следующую строку:

Раскомментировать и установить значения следующим параметрам:

Сохраните изменения и закройте текстовый редактор.

Следующим шагом является редактирование файла конфигурации sysconfig для Elasticsearch:

Раскомментируйте параметр MAX_LOCKED_MEMORY и убедитесь, что установлено значение unlimited:

Перед тем, как запустить сервис, сначала перезагрузите системы и разрешите запуск Elasticsearch во время загрузки:

systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch

Установка и настройка Kibana

Используйте wget для загрузки Kibana 6.2.4, а затем установите его с помощью команды rpm:

Далее необходимо отредактировать конфигурационный файл Kibana:

Раскомментируйте следующие строки и установите значения:

server.port: 5601
server.host: "[IP-адрес вашего сервера]"
elasticsearch.url: "http://localhost:9200"

server.port: 5601
server.host: "123.234.123.234"
elasticsearch.url: "http://localhost:9200"

Запустите службу Kibana и настройте ее на автоматический запуск при загрузке:

systemctl enable kibana
systemctl start kibana

Откройте порт 5601 для подключения к веб-интерфейсу Kibana:

sudo firewall-cmd --add-port=5601/tcp --permanent
sudo firewall-cmd --reload

Настройка Nginx

На вашем виртуальном сервере должен быть установлен веб-сервер NGINX, о том как это сделать написано в нашей инструкции.

Установите дополнительные инструменты для работы с веб-сервером:

Далее необходимо создать новый файл конфигурации виртуального хоста в каталоге conf.d:

vi /etc/nginx/conf.d/[Домен или IP-адрес].conf

И вставить следующие данные:

Затем создайте с помощью команды htpassw новый файл базовой аутентификации. Потребуется создать пароль для пользователя admin:

sudo htpasswd -c /etc/nginx/htpasswd.kibana admin

Перезапустите сервер nginx:

systemctl restart nginx

Установка и настройка Logstash

Загрузите и установите Logstash:

По завершении установки Logstash запустите сервис:

systemctl restart logstash
systemctl enable logstash

Подключение к kibana

После завершения настроек подключитесь к Kibana в браузере, для этого перейдите по следующей ссылке:

Favorite

Добавить в избранное

Как установить стек ELK на Debian 9

1. Предпосылки

Объем журналов, которые вы хотите собрать, важен, поскольку количество CPU, RAM и хранилища, требуемое вашим ELK-сервером, зависит от них.

  • ОС: CentOS 7
  • Оперативная память: 4 ГБ
  • Процессор: 2

2. Установка Java

Для развертывания стека Elastic требуется Java. Он поддерживает как OpenJDK, так и Oracle Java. мы рекомендуем использовать Oracle JDK 1.8. Мы установим Java 8 из официального пакета Oracle rpm.

Java 8 JDK можно загрузить с помощью следующей команды wget.

Следующим шагом будет установка с помощью этой команды rpm:

На этом этапе вы должны проверить установку Java JDK.

если все будет установлено правильно, вы увидите следующий вывод:

3. Установка и настройка Elasticsearch на CentOS 7

Настало время установить и настроить Elasticsearch. Мы будем использовать пакет rpm для этой установки, который предоставляется flexible.co, а затем мы настроим его для запуска на локальном хосте (все это означает, что мы сделали настройку безопасной и чтобы убедиться, что она не может быть достигнута из снаружи).

Вы должны добавить ключ elastic.co к серверу до установки Elasticsearch.

Затем вы должны использовать wget для загрузки Elasticsearch 6.2 и инициировать установку

На этом этапе, когда Elasticsearch уже установлен, вам нужно перейти в каталог конфигурации и отредактировать файл конфигурации elasticsaerch.yml.

Затем вы должны удалить комментарий в строке 40, чтобы включить блокировку памяти для Elasticsearch. Это отключает обмен памяти для Elasticsearch.

Не забывайте сохранять файл, а затем вы можете выйти из редактора.

Затем вы должны отредактировать файл elasticsearch.service для настройки блокировки памяти.

Линия Uncomment LimitMEMLOCK.

Опять же, не забудьте сохранить, а затем выйти.

Теперь вам нужно раскомментировать строку 60 и убедиться, что значение «unlimited».

Сохраните и выйдите.

Выполнение всех этих шагов означает, что вы закончили настройку Elasticsearch на CentOS 7. IP-адрес локального хоста на порту 9200 будет запускать Elasticsearch,

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

Через несколько секунд начнется Elasticsearch, а затем вы должны проверить открытые порты на сервере и дважды проверить, что «state» для порта 9200 «LISTEN».

4.Установите и настройте Kibana на CentOS 7

Когда вы достигнете этого момента, в списке перечислено следующее: установка и настройка Kibana с веб-сервером Nginx. Kibana будет прослушивать IP-адрес localhost, а Nginx действует как обратный прокси для приложения Kibana.

Вы должны использовать wget для загрузки Kibana 6.2.4, а затем вы должны установить его с помощью команды rpm:

Раскомментируйте строки конфигурации для server.port, server.host и elasticsearch.url.

Изменения должны быть сохранены, а затем вы можете выйти.
Запустите службу Kibana и установите ее для автоматического запуска при загрузке:

Вы закончили установку Kibana.

5. Установка и настройка Nginx

Nginx можно найти в репозитории Epel, установить epel-release с помощью yum.

На этом этапе нам необходимо создать новый файл конфигурации виртуального хоста в каталоге conf.d.

поэтому мы сможем добавить новую конфигурацию виртуального хоста. Вставьте конфигурацию ниже:

Затем должен быть создан новый базовый файл аутентификации с помощью команды htpasswd.

Добавьте Nginx для запуска во время загрузки и запускайте Nginx.

6. Установка и настройка Logstash

На следующем шаге мы установили Logsatash и настроим его для централизации журналов сервера от клиентов с помощью filebeat, затем фильтруем и преобразуем данные Syslog и переместим их в stash (Elasticsearch).

Используйте rpm, чтобы загрузить Logstash и установить его.

Когда установка Logstash завершена, запустите службу Logstash и установите ее для автоматического запуска при загрузке:

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

Вот и все. Вы успешно установили стек ELK на CentOS 7 VPS.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: