ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить стек ELK на CentOS 7

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

В этой статье мы покажем вам, как установить и настроить стек ELK на CentOS 7. Elasticsearch, Logstash и Kibana – это три продукта с открытым исходным кодом, которые входят в коллекцию под названием ELK stack. Это надежное решение для поиска, анализа и визуализации данных. Поскольку мы уже знаем, что Elasticsearch распределен, RESTful ищет и анализирует движок NoSQL на основе Lucene, легкий протокол обработки данных или Logstash используется для управления событиями и журналами из разных источников, а Kibana – это веб-приложение, используемое для визуализации данных который работает поверх Elsticsearch. Эта статья по установке ELK Stack на CentOS 7 должна пригодиться для любых других систем Linux VPS, но первоначально он был предназначен или, другими словами, написан и протестирован для виртуального частного сервера на базе CentOS. Задача установки ELK Stack на CentOS 7 должна быть простой, вам просто нужно выполнить шаги, которые приведены ниже, и работа будет выполнена менее чем за десять минут. Давайте начнем.

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

Первое, что вам нужно для успешного завершения этого учебника, – это root-доступ к серверу CentOS 7.

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

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

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

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

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u77-b02/jdk-8u171-linux-x64.rpm"

 

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

rpm -ivh jdk-8u171-linux-x64.rpm

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

java -version

 

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

java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)

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

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

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

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

 

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

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm
rpm -ivh elasticsearch-6.2.4.rpm

 

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

nano /etc/elasticsearch/elasticsearch.yml

 

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

bootstrap.memory_lock: true

 

После этого вам нужно раскомментировать строки network.host и http.port в блоке «Network».

network.host: localhost
http.port: 9200

 

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

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

vim /usr/lib/systemd/system/elasticsearch.service

 

Линия Uncomment LimitMEMLOCK.

LimitMEMLOCK=infinity

 

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

Следующий шаг – отредактировать конфигурационный файл sysconfig для Elasticsearch.

nano /etc/sysconfig/elasticsearch

 

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

MAX_LOCKED_MEMORY=unlimited

 

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

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

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

Systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch

 

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

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

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

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

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm
rpm -ivh kibana-6.2.4-x86_64.rpm

 

Следующий шаг – редактирование файла конфигурации Kibana.

nano /etc/kibana/kibana.yml

 

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

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

 

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

systemctl enable kibana
systemctl start kibana

 

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

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

Следующее – установить Nginx и, конечно же, настроить его как обратный прокси для доступа к Kibana с общедоступного IP-адреса.

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

yum install epel-release

 

Затем вам необходимо установить пакет Nginx и httpd-tools.

yum install nginx httpd-tools

 

Инструменты для веб-сервера содержатся в пакете httpd-tools, вы можете использовать базовую аутентификацию htpasswd для Kibana.

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

nano /etc/nginx/conf.d/your_domain.com.conf

 

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

server {
    listen 80;
 
    server_name your_domain.com;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/htpasswd.kibana;
 
    location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

 

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

sudo htpasswd -c /etc/nginx/htpasswd.kibana admin
TYPE YOUR STRONG PASSWORD

 

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

systemctl enable nginx
systemctl start nginx

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

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

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

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.rpm
rpm -ivh logstash-6.2.4.rpm

 

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

systemctl restart logstash
systemctl enable logstash

 

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

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

 

Exit mobile version