Установка filebeat в unix/linux

Установить Кибана

Скачать и распаковать

Сказав так много функций Kibana, как его установить?

Когда Сяо Ха посетил здесь, последняя версия была 7.3.2, но для связи с предыдущей статьей«Из рук в руки вы узнаете, как установить Elasticsearch в автономном режиме, кластер, установка плагинов (графическое руководство)» Версия Elasticsearch остается прежней, вам необходимо скачать версию 7.1.0.

Выберите соответствующий системный пакет для загрузки на локальный, распакуйте:

После успешной распаковки каталог выглядит следующим образом:

Старт Кибана

Перейдите в корневой каталог после распаковки Kibana и выполните команду запуска:

Консольный вывод выглядит следующим образом:

Когда вывод консоли содержит, Значит Кибана запустилась успешно, далее мы заходим в браузер Адрес, вы можете открыть Kibana.

Добавление репозиториев вручную

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

Для демонстрации мы включим репозиторий CouchDB и установим программное обеспечение. CouchDB — это бесплатная отказоустойчивая база данных NoSQL с открытым исходным кодом, поддерживаемая Apache Software Foundation.

Чтобы добавить репозиторий, откройте файл текстовом редакторе :

Добавьте строку репозитория в конец файла:

/etc/apt/sources.list

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

выведет кодовое имя Ubuntu. Например, если у вас Ubuntu версии 18.04, команда напечатает .

Другой вариант — создать новый файл репозитория в каталоге .

При ручной настройке репозитория вам также необходимо вручную импортировать ключ публичного репозитория в вашу систему. Для этого используйте или :

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

Перед установкой пакетов из вновь добавленного репозитория необходимо обновить индекс пакетов:

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

Настройка/Запуск Logstash в Unix/Linux

И так, установили ЛС и можно приступать к его настройке.

Настройка Logstash в Unix/Linux 

Рассмотрим готовый пример, у меня используется ОС —  CentOS 6/7 и я настрою LS на ней.

Прописываем переменное окружение:

У меня это:

PS: Для того чтобы узнать где лежит ( куда выполнилась установка LS, используйте — whereis logstash команду)!

Чтобы изменения применились, выполните:

И так, основной конфиг я не трогал и он имеет следующую структуру:

Ничего сложного в понимании данных строк — НЕТ!

Все конфиги должны быть в /etc/logstash/conf.d.

Запуск Logstash в Unix/Linux

Перед началом запуска, проверяем что у нас используется «SysV init vs systemdedit»:

Запуск Logstash используя Systemd

Такие дистрибутивы, как Debian Jessie, Ubuntu 15.10+ и многие производные SUSE, используют systemd и команду systemctl для запуска и остановки служб. После установки пакета вы можете запустить Logstash с помощью:

Добавим службу в автозагрузку ОС:

Настройте брандмауэр, чтобы Logstash мог получать логи от клиентов (TCP-порт 5044):

Запуск Logstash используя init/Upstart

Для систем, использующих «upstart», вы можете запустить Logstash с помощью:

Автоматически созданный файл конфигурации для «upstart» систем — /etc/init/logstash.conf.

Настройте брандмауэр, чтобы Logstash мог получать логи от клиентов (TCP-порт 5044).

Запуск Logstash используя SysV

Для систем, использующих SysV, для систем, использующих»

Автоматически созданный файл конфигурации для систем SysV — /etc/init.d/logstash.

Настройте брандмауэр, чтобы Logstash мог получать логи от клиентов (TCP-порт 5044).

Проверяем какие плагины имеются:

Для установки плагина, используйте:

Для обновления:

Чтобы удалить:

Работа с Logstash в Unix/Linux

Сначала давайте проверим вашу установку Logstash, запустив самый простой конвейер Logstash.

Конвейер Logstash имеет два обязательных элемента: вход и выход и один необязательный элемент — фильтр. Плагины ввода используют данные из источника, плагины фильтров изменяют данные, как вы указали, а выходные плагины записывают данные в пункт назначения.

Чтобы проверить установку Logstash, запустите самый простой конвейер Logstash. Например:

Или (если прописали переменное окружение):

Можно прописать что-то и LS отдаст (выход CTR +C).

Как работает LogStash?

Конвейер обработки событий Logstash имеет три этапа: inputs (входы) → filters (фильтры) → outputs (выходы). Входы генерируют события, фильтры изменяют их, а выходы отправляют их в другое место. Входы и выходы поддерживают кодеки, которые позволяют кодировать или декодировать данные при входе или выходе из конвейера без использования отдельного фильтра.

Inputs

Вы используете inputs для получения данных в Logstash. Некоторые из наиболее часто используемых inputs:

Дополнительные сведения о доступных inputs см. в разделе «Input Plugins».

Filters

Фильтры (Filters) являются промежуточными устройствами обработки данных в конвейере Logstash. Вы можете комбинировать фильтры с условными выражениями для выполнения действия над событиями, если оно соответствует определенным критериям. Некоторые полезные фильтры:

Дополнительные сведения о доступных фильтрах см. в разделе «Модули фильтра»(Filter Plugins).

Outputs

Outputs (Выходы) являются заключительной фазой конвейера Logstash. Событие может проходить через несколько выходов, но как только вся обработка вывода завершена, событие завершило свое выполнение. Некоторые часто используемые результатов включают:

Дополнительные сведения о доступных outputs см. в разделе плагины вывода (Output Plugins).

Codecs

Кодеки (Codecs) — это в основном потоковые фильтры, которые могут работать как часть входа (input) или выхода (output). Codecs позволяют вам легко отделить передачу ваших сообщений от процесса сериализации. Популярные кодеки включают в себя json, msgpack и plain (text):

Дополнительные сведения о доступных кодеках см. в разделе плагины кодеков (Codec Plugins).

А на этом, у меня все! Статья «Установка Logstash в Unix/Linux » завершена.

Настройка Logstash

Конфигурационные файлы Logstash составляются в формате JSON и хранятся в /etc/logstash/conf.d. Конфигурации состоят из трех частей: входных данных (input), фильтров (filter) и выходных данных (output).

Создайте файл 02-beats-input.conf для входных данных filebeat.

Добавьте в него:

Сохраните и закройте файл. Он задаёт настройки входных данных beats, которые будут прослушиваться на tcp-порте 5044 и использовать SSL-сертификат и ключ.

Если вы включили UFW, он будет блокировать этот порт. Измените настройки брандмауэра, чтобы разблокировать порт 5044:

Теперь создайте файл 10-syslog-filter.conf, в который нужно поместить фильтры для сообщений системных логов.

Добавьте в файл такой код:

Сохраните и закройте файл. Этот фильтр собирает логи, отмеченные приложением Filebeat как syslog, а затем использует grok, чтобы обработать входящие логи и структурировать их.

Осталось создать только 30-elasticsearch-output.conf:

Добавьте настройки выходных данных:

Сохраните и закройте файл. С помощью этого файла Logstash будет хранить полученные данные в Elasticsearch (который запущен на localhost:9200) в индексе filebeat.

Проверьте конфигурации Logstash:

Если ошибок нет, команда вернёт:

Если команда обнаружила ошибки, исправьте их и снова запустите команду.

Чтобы обновить настройки, перезапустите Logstash.

Шаг 2 — Установка и настройка информационной панели Kibana

Согласно официальной документации, Kibana следует устанавливать только после установки Elasticsearch. Установка в этом порядке обеспечивает правильность установки зависимостей компонентов.

Поскольку вы уже добавили источник пакетов Elastic на предыдущем шаге, вы можете просто установить все остальные компоненты комплекса Elastic с помощью apt:

Затем активируйте и запустите службу Kibana:

Поскольку согласно настройкам Kibana прослушивает только localhost, мы должны задать , чтобы разрешить внешний доступ. Для этого мы используем Nginx, который должен быть уже установлен на вашем сервере.

Вначале нужно использовать команду openssl для создания административного пользователя Kibana, которого вы будете использовать для доступа к веб-интерфейсу Kibana. Для примера мы назовем эту учетную запись kibanaadmin, однако для большей безопасности мы рекомендуем выбрать нестандартное имя пользователя, которое будет сложно угадать.

Следующая команда создаст административного пользователя Kibana и пароль и сохранит их в файле htpasswd.users. Вы настроите Nginx для использования этого имени пользователя и пароля и моментально прочитаете этот файл:

Введите и подтвердить пароль в диалоговом окне. Запомните или запишите эти учетные данные, поскольку они вам потребуются для доступа к веб-интерфейсу Kibana.

Теперь мы создадим файл серверного блока Nginx. В качестве примера мы присвоим этому файлу имя your_domain, хотя вы можете дать ему более описательное имя. Например, если вы настроили записи FQDN и DNS для этого сервера, вы можете присвоить этому файлу имя своего FQDN:

Создайте файл серверного блока Nginx, используя nano или предпочитаемый текстовый редактор:

Добавьте в файл следующий блок кода и обязательно замените your_domain на FQDN или публичный IP-адрес вашего сервера. Этот код настраивает Nginx для перенаправления трафика HTTP вашего сервера в приложение Kibana, которое прослушивает порт localhost:5601. Также он настраивает Nginx для чтения файла htpasswd.users и требует использования базовой аутентификации.

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

/etc/nginx/sites-available/your_domain

server {
    listen 80;

    server_name your_domain;

    auth_basic "Restricted Access";
    auth_basic_user_file etcnginxhtpasswd.users;

    location  {
        proxy_pass httplocalhost5601;
        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;
    }
}

Завершив редактирование, сохраните и закройте файл.

Затем активируйте новую конфигурацию, создав символическую ссылку на каталог sites-enabled. Если вы уже создали файл серверного блока с тем же именем, что и в обучающем модуле по Nginx, вам не нужно выполнять эту команду:

Затем проверьте конфигурацию на синтаксические ошибки:

Если в результатах будут показаны какие-либо ошибки, вернитесь и еще раз проверьте правильность изменений в файле конфигурации. Когда вы увидите на экране результатов сообщение syntax is ok, перезапустите службу Nginx:

Если вы следовали указаниям модуля по начальной настройке сервера, у вас должен быть включен брандмауэр UFW. Чтобы разрешить соединения с Nginx, мы можем изменить правила с помощью следующей команды:

Примечание. Если вы выполнили предварительный обучающий модуль Nginx, вы могли уже создать правило UFW, разрешающее профилю Nginx HTTP доступ через брандмауэр. Поскольку профиль Nginx Full разрешает трафик HTTP и HTTPS на брандмауэре, вы можете безопасно удалить ранее созданное правило. Для этого нужно использовать следующую команду:

Теперь приложение Kibana доступно через FQDN или публичный IP-адрес вашего сервера комплекса Elastic. Вы можете посмотреть страницу состояния сервера Kibana, открыв следующий адрес и введя свои учетные данные в диалоге:

http://your_domain/status

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

Примечание. Как указывалось в разделе предварительных требований, рекомендуется включить на сервере SSL/TLS. Теперь вы можете следовать указаниями обучающего модуля по Let’s Encrypt для получения бесплатного сертификата SSL для Nginx в Ubuntu 20.04. После получения сертификата SSL/TLS вы можете вернуться и завершить прохождение этого обучающего модуля.

Теперь информационная панель Kibana настроена и мы перейдем к установке следующего компонента: Logstash.

Установка Elasticsearch

Чтобы установить Elasticsearch, добавьте файл sources.list для этого пакета.

Чтобы добавить GPG-ключ Elasticsearch, введите:

Если на этом этапе командная строка зависла, введите пароль текущего пользователя.

Чтобы создать sources.list для Elasticsearch, введите:

Обновите индекс пакетов:

Установите Elasticsearch:

Отредактируйте конфигурационный файл Elasticsearch:

Ограничьте  внешний доступ к Elasticsearch (порт 9200), чтобы посторонние пользователи не смогли прочитать данные или отключить Elasticsearch с помощью HTTP API. Найдите строку network.host и измените её значение на localhost.

Сохраните и закройте elasticsearch.yml. Запустите Elasticsearch:

Чтобы настроить автозапуск Elasticsearch, введите:

Kibana Dashboards

Откройте домашнюю страницу Kibana следующим образом:

На странице вам будет предложено добавить некоторые тестовые данные в Kibana (собственно, добавить тестовые данные в ES):

щелчокLoad a data set and a Kibana dashboard Кнопка, перейти на страницу следующим образом:

Как показано на рисунке выше, можно добавить 3 типа тестовых данных, а именно:

  • ①: данные электронной коммерции;
  • Flight: полетные данные;
  • ③: простые данные веб-журнала;

щелчокAdd Data Кнопка Kibana импортирует тестовые данные соответствующего типа в ES. После успешного импорта мы посмотрим на информационные панели различных типов данных.

Сначала посмотрите на информационные панели электронной коммерции:

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

Посмотрите на информационные панели следующего рейса:

На рисунке выше показаны некоторые данные о показателях рейсов, включая общее количество рейсов, средний тариф, распределение авиакомпаний и т. Д.

Генерирование SSL-сертификата

Чтобы сервис Logstash Forwarder передавал логи клиентов на сервер ELK, нужно создать SSL-сертификат и ключ. С помощью сертификата Logstash Forwarder сможет проверить подлинность сервера ELK. Создайте каталоги для хранения сертификата и закрытого ключа:

Теперь у вас есть два варианта: вы можете создать сертификат либо для IP-адреса, либо для доменного имени.

1: Сертификат для IP-адреса

Если у вас нет домена, вы можете указать в сертификате IP-адрес сертификата ELK. Для этого укажите адрес в поле subjectAltName. Откройте конфигурационный файл OpenSSL.

Найдите в нём раздел  и добавьте в него строку:

Примечание: Укажите IP своего сервера ELK.

Теперь вы можете сгенерировать SSL-сертификат и ключ в /etc/pki/tls/ с помощью команд:

Файл logstash-forwarder.crt нужно будет скопировать на все серверы, которые отправляют логи в Logstash. После этого нужно завершить настройку Logstash.

2: Сертификат для домена

Если у вас есть доменное имя, направленное на сервер ELK, вы можете указать это имя в сертификате SSL.

Чтобы сгенерировать сертификат, введите команду:

Примечание: Вместо logstash_server_fqdn укажите доменное имя сервера ELK.

Файл logstash-forwarder.crt нужно скопировать на все серверы, которые отправляют логи в Logstash. После этого нужно завершить настройку Logstash.

Настройка Logstash

Конфигурационные файлы Logstash составляются в формате JSON и хранятся в /etc/logstash/conf.d. Конфигурации состоят из трех частей: входных данных (input), фильтров (filter) и выходных данных (output).

Создайте файл 01-lumberjack-input.conf для входных данных Logstash Forwarder.

Добавьте в него:

Сохраните и закройте файл. Он задаёт настройки входных данных lumberjack, которые будут прослушиваться на tcp-порте 5043 и использовать SSL-сертификат и ключ.

Теперь создайте файл 10-syslog.conf, в который нужно поместить фильтры для сообщений системных логов.

Добавьте в него конфигурацию:

Сохраните и закройте файл. Этот фильтр собирает логи, отмеченные Logstash Forwarder как syslog, а затем использует grok, чтобы обработать входящие логи и структурировать их.

Осталось создать только 30-lumberjack-output.conf:

Добавьте в файл:

Сохраните и закройте файл. С помощью этого файла Logstash будет хранить полученные данные в Elasticsearch. Такая настройка позволяет Logstash собирать данные, которые не соответствуют фильтру, но они не будут структурированы (неотфильтрованные логи Nginx или Apache будут отображаться как простые сообщения).

Чтобы обновить настройки, перезапустите Logstash.

Настройка Logstash Forwarder на клиентских серверах

Примечание: данный раздел нужно выполнить на всех клиентских серверах Debian, данные которых нужно передавать в Logstash на сервер ELK.

Копирование сертификата

На сервере ELK нужно скопировать SSL-сертификат и переместить его копию на клиентский сервер:

Примечание: Вместо client_server_private_address укажите внутренний адрес сервера.

Пройдя аутентификацию, убедитесь, что сертификат успешно скопирован.

Установка Logstash Forwarder

Добавьте на клиентский сервер source list для Logstash Forwarder.

Этот пакет использует тот же GPG-ключ, что и Elasticsearch. Чтобы установить его, введите:

Установите пакет Logstash Forwarder:

Примечание: Если на 32-битном сервере Ubuntu при установке Logstash Forwarder возникла ошибка «Unable to locate package logstash-forwarder», установите Logstash Forwarder вручную.

Переместите сертификат в каталог /etc/pki/tls/certs на клиенте.

Настройка Logstash Forwarder

Теперь нужно настроить взаимодействие Logstash Forwarder и Logstash.

Откройте конфигурационный файл Logstash Forwarder на клиентском сервере:

Примечание: Конфигурационный файл Logstash Forwarder написан в формате YAML. Этот формат очень чувствителен к отступам и пробелам.

В раздел network добавьте следующие строки:

Примечание: Вместо logstash_server_private_address укажите внутренний адрес сервера logstash.

В раздел files в квадратные скобки нужно добавить строки:

Теперь Logstash Forwarder может взаимодействовать с Logstash через порт 5043 и использовать сертификат

SSL. Раздел paths определяет логи, которые нужно передавать в Logstash (в данном случае syslog и auth.log). Раздел type определяет тип логов (в данном случае syslog).

Перезапустите Logstash Forwarder:

Подготовка сервера

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

1. Установка wget

В процессе установки пакетов нам понадобиться скачивать установочные файлы. Для этого в системе должен быть установлен wget:

yum install wget

2. Настройка брандмауэра

Открываем порты для работы ELK:

firewall-cmd —permanent —add-port={5044,5601}/tcp

firewall-cmd —reload

где:

  • 5044 — порт, на котором слушаем Logstash.
  • 5601 — Kibana.

3. SELinux

Отключаем SELinux двумя командами:

setenforce 0

sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config

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

Подключение к Kibana

Настроив Logstash Forwarder на всех клиентских серверах, приступайте к настройке веб-интерфейса Kibana.

Откройте в браузере FQDN или IP-адрес сервера ELK. Введите учётные данные администратора (в данном случае он называется kibanaadmin). На экране появится страница, которая предложит выбрать шаблон индекса по умолчанию.

В выпадающем меню выберите @timestamp  и нажмите Create, чтобы создать первый шаблон индекса.

Затем выберите Discover в верхнем меню навигации. По умолчанию эта ссылка выведет данные логов за последние 15 минут. На экране появится гистограмма и сообщения логов.

С помощью интерфейса вы можете искать логи и отображать их. Также можно настроить дашборд.

Для примера попробуйте:

  • Узнать, пытается ли кто-то попасть на сервер как пользователь root (для этого введите root в строку поиска).
  • Найти конкретное имя хоста (для поиска используйте фоормат host: “hostname”).
  • Изменить временные рамки, выбрав область на гистограмме или в верхнем меню.
  • Отфильтровать данные с помощью сообщений под гистограммой (для этого нужно кликнуть по сообщению).

Kibana имеет много интересных и полезных функций: построение графиков, фильтрация и т.п.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector