документация развертывания ELK

1. Введение

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

Краткое введение:

Лось elasticsearch + logstash + kibana три с открытым исходным кодом для краткости.

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

logstash: может быть собрана, фильтруется через бревно, и сохраняет его в elasticsearch

kibana: обеспечить дружественный пользовательский интерфейс elasticsearch, пользователь может быть проанализирована с помощью kibana, поиск и даже черчения для анализа данных.

 

Вот текущее использование более архитектуры:

Файл биений ELK +

Filebeat представляет собой легкий открытый журнал для сбора данных файла, он может быть установлен на узел, чтобы собрать, он будет доставлен в журнал или elasticsearch logstash

С ELK журнал может быть распределен по множественному единому планированию вместе.

 

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

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

 

2. Процесс сборки ELK

Экспериментальная топология:

 

 

 

Экспериментальная среда хостинг описание услуги:

 

 

 

Эксперимент Nginx журналы, собранная и сохраненная в elasticsearch в. Elasticsearch сетевой операции ввода-вывода и установлен на том же хосте kibana избежать ненужного прямого взаимодействия машины.

 

2.1 Процесс установки Elasticsearch

(1) инициализации

  • SELinux, близко брандмауэр
  • Синхронизация времени
  • Изменить имя хоста
  • Изменить максимальное количество открытых файлов

 

 Синхронизация времени:

[[email protected] ~] #ntpdate tiger.sina.com.cn

 

Изменить имя хоста:

[[email protected] ~] #hostnamectl имя хоста установленный NODE1 
End Не забудьте изменить имя хоста указано в / и т.д. / хостов в 
192.168.118.14 node1

 

Изменить максимальное количество открытых файлов:

[[email protected] ~] #vim /etc/security/limits.conf 
* мягкий NPROC 655350 
* жесткий NPROC 655350 
* мягкая nofile 655350 
* жесткий nofile 655350 

[[email protected] ~] #ulimit -SHn 655350

 

 (2) Java среда конфигурации

[[email protected] / USR / местные / SRC] #tar XF JDK-8u77-Linux-x64.tar.gz -C / USR / местные / 

在/ и т.д. / профиль文件中追加?
JAVA_HOME = / USR / местные / jdk1.8.0_77 
JAVA_BIN = $ JAVA_HOME / бен 
PATH = $ PATH: $ JAVA_BIN 
CLASSPATH = $ JAVA_HOME / Библиотека / dt.jar: $ JAVA_HOME / Библиотека / tools.jar 
экспорт JAVA_HOME JAVA_BIN PATH CLASSPATH 

[корень @ 192.168.118.14 / USR / местные / SRC] #source / и т.д. / профиль 
[[email protected] / USR / местные / SRC] #ln -vs /usr/local/jdk1.8.0_77/bin/java / USR / бен / 
[[email protected] / USR / местные / SRC] #java -версия 
Java версии "1.8.0_77" 
Java (TM) SE Runtime Environment (сборка 1.8.0_77-B03) 
Java HotSpot (TM) 64-разрядный сервер ВМ (сборка 25.77-B03, смешанный режим)

 

 (3) Установка elasticsearch

Скачать: https://www.elastic.co/cn/downloads/past-releases#elasticsearch

Вот загрузка пакета 6,8 оборотов в минуту

 

Непосредственная установка:

[[email protected] ~ / ELK] #yum localinstall elasticsearch-6.8.2.rpm 
修改配置文件如下: 
[[email protected] ~ / ELK] #egrep ^ [AZ] /etc/elasticsearch/elasticsearch.yml 
кластер .name: супер-кластер 
node.name: node1 
path.data: / вар / Библиотека / elasticsearch 
path.logs: / вар / журнал / elasticsearch 
bootstrap.memory_lock: истинный 
network.host: 0.0.0.0 
http.port: 9200 
открытие. zen.ping.unicast.hosts: [ "192.168.118.14"] 
http.cors.enabled: истинный 
http.cors.allow-происхождения: "*"

 

 

 

начало

[[email protected] ~ / ELK] #systemctl позволяют elasticsearch; systemctl начать elasticsearch

 

Первый запуск может не запуститься, просматривать журнал:

[[email protected] ~ / ELK] #tail /var/log/elasticsearch/super-cluster.log 
... 
[1]: память запирание испрашивается для процесса elasticsearch но память не заблокирована 
...

 

В качестве ошибки, вам необходимо изменить сценарий запуска:

[[email protected] ~ / ELK] #vim /lib/systemd/system/elasticsearch.service 
в [-Service] конфигурации фрагменте: 
... 
LimitMEMLOCK = бесконечность 
... 

[[email protected] ~ / ELK] #systemctl демон-перезарядка 
[[email protected] ~ / ELK] #systemctl начать elasticsearch

Просмотр порта, если монитор 9200 и 9300, а затем elasticsearch успешно начать.

Проверка:

[[email protected] ~ / ELK] #curl HTTP: // локальный: 9200 / 
{ 
  "имя": "node1", 
  "CLUSTER_NAME": "супер-кластер", 
  "cluster_uuid": "1FD-KmYMTVCzWVPI9vn8zw", 
  " версия ": { 
    "номер": "6.8.2", 
    "build_flavor": " по умолчанию", 
    "build_type": "мин", 
    "build_hash": "b506955", 
    "build_date":" 2019-07-24T15: 24 : 41.545295Z " 
    "build_snapshot": ложь, 
    "lucene_version": "7.7.0", 
    "minimum_wire_compatibility_version": "5.6.0", 
    "minimum_index_compatibility_version»: "5.0.0" 
  }, 
  "Подзаголовок": "Вы знаете, для поиска" 
}

Это, elasticsearch успешной установки.

 

Здесь монтаж множество elasticsearch головки и просмотр данных для отладки очень удобно.

Программа загрузки: https: //github.com/mobz/elasticsearch-head

Сначала установите зависимости

ни установить мерзавец nodejs OpenSSL-разви экран -y 

клон elasticsearch головку пункт 
[[email protected] ~] Git клон # https://github.com/mobz/elasticsearch-head.git 
[[email protected] ~] # CD elasticsearch-головка / 

игнорировать [email protected], выполните следующую команду 
[elasticsearch корень головки @ node1] # NPM-PhantomJS установки скомпилированных --ignore-скриптов 

[elasticsearch сущностной голову @ node1] # НПМ установки 
...

Вот очень медленный процесс.

 

 

Начало службы elasticsearch головки

[[email protected] ~] #cd elasticsearch-голова / 
[[email protected] ~ / elasticsearch головка] #screen 
[@ узел1 elasticsearch корневой головки] НПЙ RUN # Запустить 
на Ctrl + A + D к процессу Ctrl в проверка под экраном здесь не понимает команды, так хорошо.

Просмотр порта, пока монитор 9100, что указывает на успешный старт.

 

Доступ Браузер:

 

 

 

Правильно, и установка прошла успешно. Вы можете просмотреть все данные в elasticsearch по elasticsearch головки. В настоящее время на индексе node1. Если вы хотите, углубленное изучение elasticsearch рекомендовать книгу «elasticsearch-заместитель окончательного-гид-сп» PDF можно скачать в Интернете.

 

Затем установите kibana. Kibana и elasticsearch установлен на том же хосте

Kibana Скачать: https://www.elastic.co/cn/downloads/past-releases#kibana

пакет Direct оборотов в минуту

[[email protected] ~ / ELK] #yum localinstall kibana-6.8.2-x86_64.rpm -y

 Измените файл конфигурации:

 

 

Будьте осторожны, если вы измените kibana порт 80, необходимо изменить корень пользователя kibana начать, потому что обычные пользователи не могут начать 1024 на следующие порты.

Измените файл конфигурации запуска:

[[email protected] ~] #vim /etc/systemd/system/kibana.service 
Пользователь = корень 
Group = корень 

снова запустить службу 
[[email protected] ~] #systemctl демон-перезарядку 
[[email protected] ~] #systemctl перезагрузка kibana

 

Проверьте, если порт 80 прослушивает объяснить успешный запуск.

 

 

Процесс установки 2.2 logstash

Согласно плану, logstash должен быть установлен на отдельном хосте, logstash установка очень проста.

Logstash Скачать: https://www.elastic.co/cn/downloads/past-releases#logstash

 

Как указано выше, инициализация не забывайте, там уже не описывается.

Jdk установлен, а также то же самое, что и выше, JDK проверки:

[[email protected] / USR / местные / SRC] #java -версия 
Java версии "1.8.0_77" 
Java (TM) SE Runtime Environment (сборка 1.8.0_77-B03) 
Java HotSpot (TM) 64-разрядного сервера VM ( построить 25,77-B03, смешанный режим)

 

Установка logstash

[[email protected] ~] #yum localinstall logstash- 6.8.2.rpm -y 

добавлен в logstash команду PATH переменной среды 
[[email protected] / и т.д. / logstash] #vim /etc/profile.d/logstash .sh 
Экспортировать PATH = / USR / уведомите содержание доля / logstash / бен: $ PATH

Хорошо, вот уже установлен, это не очень просто.

 

Проверка:

[[email protected] ~] #logstash -e 'ввода {STDIN {}} {Выход стандартный вывод {}}' до 
тех пор, пока успешно начал Logstash API , конечная точка {: порт => 9600} будет представлять собой успешный старт. 
Привет, Китай 
{ 
      «. 1" "@version"=> 
       "Сообщение"=> "Привет, Китай", 
          "Host"=> "logstash-node1", 
    "@timestamp"=> 2019-09-14T04: 14: 35.035Z

 

По тестирования logstash проверка успешна.

 

2.3 Filebeat и установка Nginx

Filebeat Скачать: https://www.elastic.co/cn/downloads/past-releases#filebeat

 

Сначала установите Nginx ни установить непосредственно

[[email protected] ~] #yum установить Nginx -y 
启动Nginx 
[[email protected] ~] #nginx

Установка filebeat

[[email protected] ~] #yum localinstall filebeat-6.8.2-x86_64.rpm -y 
开启Nginx模块
[[email protected] ~] #cd / и т.д. / filebeat / 
[[email protected] / и т.д. / filebeat ] #filebeat модули позволяют Nginx 
Enabled Nginx

 Изменение filebeat основной конфигурационный файл:

[[email protected] ~] #vim /etc/filebeat/filebeat.yml 
Zhushidiao выход на elasticsearch 
# output.elasticsearch: 
  # хозяев для подключения к массиву. 
  #Hosts: [ "локальный: 9200"] 

включен в выходной logstash 
output.logstash: 
  # Logstash хосты в The 
  хостах: [ "192.168.118.16:5044"]

Обратите внимание, что хозяева пишут logstash IP-хосты

Изменить Nginx файл конфигурации модуля:

[[email protected] ~] #vim /etc/filebeat/modules.d/nginx.yml

 

 

 

Начало filebeat службы

[[email protected] ~] #systemctl Начало filebeat 
службы Filebeat не прослушивает порт, до тех пор , как государство работает это значит начать, вы можете проверить filebeat войти 
/ уаг / Журнал / filebeat / filebeat

 

Это, ELK + filebeat были развернуты, то вы можете установить потребности в корректировке и для сбора данных, но эта часть работы была сосредоточена на logstash, поэтому мы пишем logstash является трудность ELK. Logstash синтаксис конфигурации настоятельно рекомендуются, чтобы увидеть официальную документацию очень всесторонние.

 

 

2.4 записи профиля logstash

Здесь принять постепенный подход к расширению, вы можете написать простой тест.

Написать конфигурационный файл для вывода данных на экран:

[[email protected] /etc/logstash/conf.d]#vim test.conf

 

Logstash может быть инициирован в соответствии с файлом конфигурации, загрузку следующим образом:

[[email protected] /etc/logstash/conf.d]#logstash -f test.conf 
появляется успешно начал Logstash API конечной точки будет представлять собой успешный старт.

 

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

 

 

Файлы журнала были переданы через, следующий шаг должен записать данные elasticsearch в.

Продолжить, чтобы изменить файл конфигурации:

 

Запустите logstash через файл конфигурации

[[email protected] /etc/logstash/conf.d]#logstash -f test.conf

Попробуйте получить доступ к Nginx увидеть, если есть elasticsearch головка в новом индексе создается.

 

 Как было показано выше, новый индекс создается, индексные данные могут быть просмотрены elasticsearch головкой.

 

 

Он теперь записывается в лог данных в elasticsearch, и затем через kibana шоу, смонтированный на верхней части браузера, чтобы получить доступ к хорошей kibana

 

 

 

Установка завершена, просто нажмите кнопку Обнаружить

раз Multi-доступа Nginx, чтобы увидеть, если он отображается в журнале.

 

 

Хорошо, это, ELK + filebeat получить Nginx журнала завершена. Хотя шоу выйти из системы, данные журнала, такие хаотичный, но по-прежнему выглядели очень трудно принять, что требует дальнейшего структурированным.

Если следующая запись более подробно по данным журнала приобретение Nginx logstash и показать больше данных регулярного рисунка и с помощью kibana.

рекомендация

отwww.cnblogs.com/hukey/p/11518966.html