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 — на открывшейся странице принимаем лицензионное соглашение:
После появятся ссылки на платформу — кликаем по ссылке для скачивания RPM пакета:
Нас перебросит на страницу ввода логина и пароля — необходимо авторизоваться или зарегистрироваться. После начнется процесс загрузки пакета, и когда он завершится, перекидываем файл на сервер 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:
. и скачиваем по ней сам пакет:
* в моем случае была версия 7.3.2.
После устанавливаем эластик на наш сервер:
rpm -ivh elasticsearch-*
Разрешаем автозапуск сервиса и запускаем его:
systemctl enable elasticsearch
systemctl start elasticsearch
Kibana
Переходим на страницу загрузки Kibana и скачиваем ссылку на последнюю вервию пакета RPM:
. и скачиваем по ней пакет для установки kibana:
Открываем на редактирование конфигурационный файл:
Редактируем параметр host:
* в данном примере мы говорим, что сервер должен слушать на интерфейсе 192.168.1.10.
Разрешаем автозапуск Kibana и запускаем ее:
systemctl enable kibana
systemctl start kibana
Мы должны увидеть страницу приветствия с заголовком «Welcome to Kibana».
Logstash
Процесс установки Logstash аналогичен — переходим на страницу загрузки программного продукта, копируем ссылку на пакет RPM:
Скачиваем пакет на нашем сервере:
. и устанавливаем его:
rpm -ivh logstash-*
Разрешаем автозапуск и стартуем сервис:
systemctl enable logstash
systemctl start logstash
Настройка Logstash
Настройки для логстэша хранятся в каталоге /etc/logstash/conf.d в файлах формата JSON. Для конфигурации используются следующие секции:
- input (входные данные).
- filter (фильтры).
- 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 в браузере, для этого перейдите по следующей ссылке:
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.
Читайте также: