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.