В этой статье мы покажем вам, как установить и настроить стек ELK на Debian 9. ELK представляет собой набор из трех открытых источников продуктов, Elasticsearch, Logstash и Kibana и надежное решение для поиска, анализа и визуализации данных. Elasticsearch — это распределенный поисковый и аналитический движок NoSQL для поиска и анализа на основе Lucene, Logstash — это легкий конвейер для обработки событий и журналов из самых разных источников, а Kibana — это веб-приложение для визуализации данных, которое работает поверх Elasticsearch, Эта статья ELK Stack должна работать и на других системах Linux VPS, но была протестирована и написана для Debian 9 VPS, Установка ELK Stack на Debian 9 — это простая и простая задача, просто выполните приведенные ниже шаги, и вы должны установить ее менее чем за 10 минут.
Для завершения этого урока вам понадобятся:
sudo apt-get update && apt-get -y upgrade sudo apt-get install apt-transport-https software-properties-common wget
Вы всегда должны постоянно обновлять программное обеспечение на своем Linux VPS и настраивать автоматическую защиту и критические обновления.
Для запуска Elicsearch требуется, по меньшей мере, Java 8. Он поддерживает как OpenJDK, так и Oracle Java. В этом руководстве мы установим OpenJDK версии 8.
Чтобы установить OpenJDK, выполните следующую команду:
sudo apt install openjdk-8-jdk
Чтобы проверить, правильно ли установлено все, выполните:
java -version
и вы должны увидеть что-то вроде следующего:
openjdk version "1.8.0_171" OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-1~deb9u1-b11) OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
Мы установим Elasticsearch, используя диспетчер пакетов apt из официального репозитория Elastic. Сначала включите репозиторий и обновите список кеша пакета следующими командами:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list sudo apt-get update
и установите Elasticsearch с помощью команды apt, используя следующую команду:
sudo apt-get install elasticsearch
По завершении установки откройте файл elasticsearch.yml
и ограничите удаленный доступ к экземпляру Elasticsearch:
sudo nano /etc/elasticsearch/elasticsearch.yml
# ---------------------------------- Network ----------------------------------- # # Set the bind address to a specific IP (IPv4 or IPv6): # #network.host: 192.168.0.1 network.host: localhost
Перезагрузите службу Elasticsearch и установите ее для автоматического запуска при загрузке:
sudo systemctl restart elasticsearch sudo systemctl enable elasticsearch
Чтобы проверить статус сервера elasticsearch, вы можете использовать следующую команду:
curl -X GET http: // localhost: 9200
Результат должен выглядеть так:
{ "name" : "UHR2XBB", "cluster_name" : "elasticsearch", "cluster_uuid" : "Ranc0Jh9QAuuMYhALcZIRA", "version" : { "number" : "6.2.4", "build_hash" : "ccec39f", "build_date" : "2018-04-12T20:37:28.497551Z", "build_snapshot" : false, "lucene_version" : "7.2.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
То же, что и Elasticsearch, мы установим последнюю версию Kibana, используя менеджер пакетов apt из официального репозитория Elastic:
sudo apt-get install kibana
По завершении установки откройте файл kibana.yml
и ограничите удаленный доступ к экземпляру Kibana:
sudo nano /etc/kibana/kibana.yml
# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values. # The default is 'localhost', which usually means remote machines will not be able to connect. # To allow connections from remote users, set this parameter to a non-loopback address. server.host: "localhost"
Start the Kibana service and set it to start automatically on boot:
sudo systemctl restart kibana sudo systemctl enable kibana
Теперь Kibana будет работать на локальном хосте на порту 5601
Мы будем использовать Nginx в качестве обратного прокси для доступа к Kibana с общедоступного IP-адреса. Чтобы установить Nginx, запустите:
sudo apt-get install nginx
Создайте базовый файл аутентификации с помощью команды openssl:
echo "admin: $ (openssl passwd -apr1 YourStrongPassword)" | sudo tee -a /etc/nginx/htpasswd.kibana
Примечание: всегда используйте надежный пароль.
Удалите виртуальный хост nginx по умолчанию:
sudo rm -f /etc/nginx/sites-enabled/default
и создайте файл конфигурации виртуального хоста для экземпляра Kibana:
sudo nano /etc/nginx/sites-available/kibana
server { listen 80 default_server; server_name _; return 301 https://$server_name$request_uri; } server { listen 443 default_server ssl http2; server_name _; ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; ssl_session_cache shared:SSL:10m; 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; } }
Активируйте серверный блок, создав символическую ссылку:
sudo ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/kibana
Проверьте конфигурацию Nginx:
sudo nginx -t
Перезапустите службу Nginx и запустите ее при загрузке автоматически:
sudo systemctl restart nginx sudo systemctl enable nginx
Последним шагом является установка Logstash с помощью диспетчера пакетов apt из официального репозитория Elastic.
sudo apt-get install logstash
После того, как пакет Logstash установлен, запустите службу Logstash и запустите ее при загрузке автоматически:
sudo systemctl restart logstash sudo systemctl enable logstash
Конфигурация Logstash зависит от ваших личных предпочтений и плагинов, которые вы будете использовать. Дополнительную информацию о настройке Logstash можно найти здесь.
Теперь вы можете получить доступ к интерфейсу kibana, открыв браузер и набрав https://YourServerIpAddress
Вот и все. Вы успешно установили стек ELK на свой Debian 9 VPS.
PS . Если вам понравился этот пост, поделитесь им со своими друзьями в социальных сетях, используя приведенные ниже кнопки или просто оставьте комментарий в разделе комментариев. Благодарю.
nginx -t
nginx: [emerg] BIO_new_file(«/etc/ssl/certs/ssl-cert-snakeoil.pem») failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‘/etc/ssl/certs/ssl-cert-snakeoil.pem’,’r’) error:2006D080:BIO routines:BIO_new_file:no such file)
nginx: configuration file /etc/nginx/nginx.conf test failed
Ключи в конфиге прописаны, а в мануале нет…
🙂