Учебники

Logstash — Плагины

Logstash предлагает различные плагины для всех трех этапов своего конвейера (вход, фильтр и выход). Эти плагины помогают пользователю захватывать журналы из различных источников, таких как веб-серверы, базы данных, сетевые протоколы и т. Д.

После захвата Logstash может анализировать и преобразовывать данные в значимую информацию, как того требует пользователь. Наконец, Logstash может отправлять или хранить значимую информацию в различных источниках назначения, таких как Elasticsearch, AWS Cloudwatch и т. Д.

Входные плагины

Входные плагины в Logstash помогают пользователю извлекать и получать журналы из различных источников. Синтаксис для использования входного плагина следующий:

Input {
   Plugin name {
      Setting 1……
      Setting 2……..
   }
}

Вы можете скачать плагин ввода с помощью следующей команды —

>Logstash-plugin install Logstash-input-<plugin name>

Утилита Logstash-plugin находится в папке bin установочного каталога Logstash. В следующей таблице приведен список плагинов ввода, предлагаемых Logstash.

Sr.No. Название и описание плагина
1

биения

Чтобы получить данные регистрации или события из эластичного каркаса ударов.

2

cloudwatch

Для извлечения событий из CloudWatch, API-предложения Amazon Web Services.

3

couchdb_changes

События из _chages URI couchdb отправлены с помощью этого плагина.

4

drupal_dblog

Извлечь данные регистрации сторожевого пуска drupal с включенным DBLog.

5

Elasticsearch

Получить результаты запросов, выполненных в кластере Elasticsearch.

6

Журнал событий

Чтобы получить события из журнала событий Windows.

7

Exec

Получить вывод команды оболочки в качестве входа в Logstash.

8

файл

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

9

генератор

Он используется для целей тестирования, который создает случайные события.

10

GitHub

Захватывает события от GitHub webhook.

11

графит

Получить данные метрик из графитового инструмента мониторинга.

12

стук сердца

Он также используется для тестирования и производит события, похожие на сердцебиение

13

HTTP

Для сбора событий журнала по двум сетевым протоколам, а именно http и https.

14

http_poller

Он используется для декодирования вывода HTTP API в событие.

15

JDBC

Он преобразует транзакции JDBC в событие в Logstash.

16

JMX

Для извлечения метрик из удаленных Java-приложений с использованием JMX.

17

log4j

Захват событий от объекта socketAppender из Log4j через сокет TCP.

18

Новости

Для вывода инструментов командной строки в качестве события ввода в Logstash.

19

ТСР

Захватывает события через TCP-сокет.

20

щебет

Сбор событий из потокового API Twitter.

21

Юникс

Собирать события через сокет UNIX.

22

WebSocket

Захват событий через протокол веб-сокета.

23

XMPP

Читает события по протоколам Jabber / xmpp.

биения

Чтобы получить данные регистрации или события из эластичного каркаса ударов.

cloudwatch

Для извлечения событий из CloudWatch, API-предложения Amazon Web Services.

couchdb_changes

События из _chages URI couchdb отправлены с помощью этого плагина.

drupal_dblog

Извлечь данные регистрации сторожевого пуска drupal с включенным DBLog.

Elasticsearch

Получить результаты запросов, выполненных в кластере Elasticsearch.

Журнал событий

Чтобы получить события из журнала событий Windows.

Exec

Получить вывод команды оболочки в качестве входа в Logstash.

файл

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

генератор

Он используется для целей тестирования, который создает случайные события.

GitHub

Захватывает события от GitHub webhook.

графит

Получить данные метрик из графитового инструмента мониторинга.

стук сердца

Он также используется для тестирования и производит события, похожие на сердцебиение

HTTP

Для сбора событий журнала по двум сетевым протоколам, а именно http и https.

http_poller

Он используется для декодирования вывода HTTP API в событие.

JDBC

Он преобразует транзакции JDBC в событие в Logstash.

JMX

Для извлечения метрик из удаленных Java-приложений с использованием JMX.

log4j

Захват событий от объекта socketAppender из Log4j через сокет TCP.

Новости

Для вывода инструментов командной строки в качестве события ввода в Logstash.

ТСР

Захватывает события через TCP-сокет.

щебет

Сбор событий из потокового API Twitter.

Юникс

Собирать события через сокет UNIX.

WebSocket

Захват событий через протокол веб-сокета.

XMPP

Читает события по протоколам Jabber / xmpp.

Настройки плагина

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

файл

Этот входной плагин используется для извлечения событий непосредственно из журналов или текстовых файлов, присутствующих во входном источнике. Она работает аналогично команде tail в UNIX и сохраняет последний курсор чтения и читает только новые добавленные данные из входного файла, но ее можно изменить с помощью параметра star_position. Ниже приведены настройки этого входного плагина.

Название настройки Значение по умолчанию Описание
add_field {} Добавьте новое поле к входному событию.
close_older 3600 Файлы, имеющие время последнего чтения (в секундах) больше указанного в этом плагине, закрываются.
кодер-декодер «Простой» Он используется для декодирования данных перед входом в конвейер Logstash.
ограничитель «\ П» Используется для указания нового разделителя строк.
discover_interval 15 Это интервал времени (в секундах) между обнаружением новых файлов по указанному пути.
enable_metric правда Он используется для включения или отключения отчетности и сбора метрики для указанного плагина.
исключать Он используется для указания имени файла или шаблонов, которые должны быть исключены из входного плагина.
Я бы Чтобы указать уникальный идентификатор для этого экземпляра плагина.
max_open_files Он определяет максимальное количество входных файлов Logstash в любое время.
дорожка Укажите путь к файлам, и он может содержать шаблоны для имени файла.
начальная_позиция «конец» Вы можете изменить на «начало», если хотите этого; Первоначально Logstash должен начать чтение файлов с самого начала, а не только с нового события журнала.
start_interval 1 Указывает временной интервал в секундах, после которого Logstash проверяет наличие измененных файлов.
теги Чтобы добавить любую дополнительную информацию, например Logstash, он добавляет «_grokparsefailure» в теги, когда какое-либо событие журнала не соответствует указанному фильтру grok.
тип Это специальное поле, которое вы можете добавить к входному событию, и оно полезно в фильтрах и кибанах.

Elasticsearch

Этот конкретный плагин используется для чтения результатов поисковых запросов в кластере Elasticsearch. Следующее имеет настройки, используемые в этом плагине —

Название настройки Значение по умолчанию Описание
add_field {} Как и в плагине файла, он используется для добавления поля во входное событие.
ca_file Он используется для указания пути к файлу авторизации SSL-сертификата.
кодер-декодер «Простой» Он используется для декодирования входных событий из Elasticsearch перед входом в конвейер Logstash.
DOCINFO «ложный» Вы можете изменить его на true, если вы хотите извлечь дополнительную информацию, такую ​​как index, type и id, из механизма Elasticsearch.
docinfo_fields [«_index», «_type», «_id»] Вы можете исключить любое поле, которое вам не нужно в вашем входе Logstash.
enable_metric правда Он используется для включения или отключения отчетности и сбора метрики для этого экземпляра плагина.
хостов Он используется для указания адресов всех механизмов эластичного поиска, которые будут входным источником этого экземпляра Logstash. Синтаксис: хост: порт или IP: порт.
Я бы Он используется для присвоения уникального идентификационного номера этому конкретному экземпляру входного плагина.
индекс «Logstash- *» Он используется для указания имени индекса или шаблона, который Logstash будет отслеживать Logstash для ввода.
пароль Для целей аутентификации.
запрос «{\» sort \ «: [\» _ doc \ «]}» Запрос на исполнение.
SSL ложный Включить или отключить слой защищенных сокетов.
теги Добавить любую дополнительную информацию во входные события.
тип Он используется для классификации форм ввода, так что будет легче искать все события ввода на более поздних этапах.
пользователь Для подлинных целей.

Журнал событий

Этот входной плагин читает данные из Win32 API серверов Windows. Ниже приведены настройки этого плагина —

Название настройки Значение по умолчанию Описание
add_field {} Так же, как в файловом плагине, он используется для добавления поля во входное событие
кодер-декодер «Простой» Он используется для декодирования входных событий из окон; перед входом в трубопровод Logstash
журнальный файл [«Приложение», «Безопасность», «Система»] События, необходимые во входном файле журнала
интервал 1000 Это в миллисекундах и определяет интервал между двумя последовательными проверками новых журналов событий
теги Чтобы добавить любую дополнительную информацию в события ввода
тип Он используется для классификации входных форм определенных плагинов к заданному типу, так что будет проще искать все входные события на более поздних этапах

щебет

Этот плагин ввода используется для сбора потока Twitter из его потокового API. В следующей таблице описаны настройки этого плагина.

Название настройки Значение по умолчанию Описание
add_field {} Так же, как в файловом плагине, он используется для добавления поля во входное событие
кодер-декодер «Простой» Он используется для декодирования входных событий из окон; перед входом в трубопровод Logstash
CONSUMER_KEY Он содержит потребительский ключ приложения Twitter. Для получения дополнительной информации посетите https://dev.twitter.com/apps/new
consumer_secret Он содержит секретный ключ потребителя приложения Twitter. Для получения дополнительной информации посетите https://dev.twitter.com/apps/new
enable_metric правда Он используется для включения или отключения отчетности и сбора метрики для этого экземпляра плагина.
следует

Он определяет идентификаторы пользователей, разделенные запятыми, и LogStash проверяет статус этих пользователей в Twitter.

Для получения дополнительной информации посетите

https://dev.twitter.com

full_tweet ложный Вы можете изменить его на true, если вы хотите, чтобы Logstash считывал полный возврат объекта из Twitter API
Я бы Он используется для присвоения уникального идентификационного номера этому конкретному экземпляру входного плагина.
ignore_retweets Ложь Вы можете изменить значение true, чтобы игнорировать ретвиты во входном твиттере
ключевые слова Это массив ключевых слов, которые нужно отслеживать во входном фиде твиттеров.
язык Он определяет язык твитов, необходимых для LogStash из входного твиттера. Это массив идентификаторов, который определяет конкретный язык в твиттере
места Чтобы отфильтровать твиты из входного канала в соответствии с указанным местоположением. Это массив, который содержит долготу и широту местоположения
oauth_token Это обязательное поле, содержащее токен пользователя oauth. Для получения дополнительной информации, пожалуйста, посетите следующую ссылку https://dev.twitter.com/apps
oauth_token_secret Это обязательное поле, содержащее секретный токен пользователя oauth. Для получения дополнительной информации, пожалуйста, посетите следующую ссылку https://dev.twitter.com/apps
теги Чтобы добавить любую дополнительную информацию в события ввода
тип Он используется для классификации входных форм определенных плагинов к заданному типу, так что будет проще искать все входные события на более поздних этапах

Он определяет идентификаторы пользователей, разделенные запятыми, и LogStash проверяет статус этих пользователей в Twitter.

Для получения дополнительной информации посетите

https://dev.twitter.com

TCP

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

Название настройки Значение по умолчанию Описание
add_field {} Так же, как в файловом плагине, он используется для добавления поля во входное событие
кодер-декодер «Простой» Он используется для декодирования входных событий из окон; перед входом в трубопровод Logstash
enable_metric правда Он используется для включения или отключения отчетности и сбора метрики для этого экземпляра плагина.
хозяин «0.0.0.0» Адрес ОС сервера, от которого зависит клиент
Я бы Он содержит потребительский ключ приложения Twitter
Режим «Сервер» Используется для указания источника ввода — сервер или клиент.
порт Определяет номер порта
ssl_cert Используется для указания пути сертификата SSL
ssl_enable ложный Включить или отключить SSL
ssl_key Чтобы указать путь к файлу ключа SSL
теги Чтобы добавить любую дополнительную информацию в события ввода
тип Он используется для классификации входных форм определенных плагинов к заданному типу, так что будет проще искать все входные события на более поздних этапах

Logstash — выходные плагины

Logstash поддерживает различные источники вывода и в различных технологиях, таких как база данных, файл, электронная почта, стандартный вывод и т. Д.

Синтаксис использования выходного плагина следующий:

output {
   Plugin name {
      Setting 1……
      Setting 2……..
   }
}

Вы можете скачать плагин вывода, используя следующую команду —

>logstash-plugin install logstash-output-<plugin name>

Утилита Logstash-plugin находится в папке bin установочного каталога Logstash. В следующей таблице описываются выходные плагины, предлагаемые Logstash.

Sr.No. Название и описание плагина
1

CloudWatch

Этот плагин используется для отправки агрегированных метрических данных в CloudWatch веб-сервисов Amazon.

2

CSV

Он используется для записи выходных событий через запятую.

3

Elasticsearch

Он используется для хранения выходных журналов в индексе Elasticsearch.

4

Эл. адрес

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

5

Exec

Он используется для запуска команды, соответствующей выходному событию.

6

ганглии

Это корчи метрики Гмонду Гангила.

7

gelf

Он используется для создания вывода для Graylog2 в формате GELF.

8

google_bigquery

Он выводит события в Google BigQuery.

9

google_cloud_storage

Он сохраняет выходные события в Google Cloud Storage.

10

графит

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

11

graphtastic

Он используется для записи выходных метрик в Windows.

12

hipchat

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

13

HTTP

Он используется для отправки событий выходного журнала на конечные точки http или https.

14

influxdb

Он используется для хранения выходного события в InfluxDB.

15

ИРЦ

Он используется для записи выходных событий в irc.

16

MongoDB

Он хранит выходные данные в MongoDB.

17

Nagios

Он используется для уведомления Nagios о результатах пассивной проверки.

18

nagios_nsca

Он используется для уведомления Nagios о результатах пассивной проверки по протоколу NSCA.

19

opentsdb

Он сохраняет выходные события Logstash в OpenTSDB.

20

труба

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

21

Rackspace

Он используется для отправки событий выходного журнала в службу очередей Rackspace Cloud.

22

Redis

Он использует команду rpush для отправки выходных данных журнала в очередь Redis.

23

Riak

Он используется для хранения выходных событий в распределенной паре ключ / значение Riak.

24

s3

Он сохраняет выходные данные регистрации в Amazon Simple Storage Service.

25

с.н.с.

Он используется для отправки выходных событий в Amazon Simple Notification Service.

26

solr_http

Он индексирует и сохраняет выходные данные регистрации в Solr.

27

СФС

Он используется для отправки событий в службу простой очереди AWS.

28

statsd

Он используется для отправки данных метрик в сетевой демон statsd.

29

стандартный вывод

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

30

системный журнал

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

31

ТСР

Он используется для отправки выходных событий в сокет TCP.

32

УДП

Он используется для передачи выходных событий через UDP.

33

WebSocket

Он используется для передачи выходных событий по протоколу WebSocket.

34

XMPP

Он используется для передачи выходных событий по протоколу XMPP.

CloudWatch

Этот плагин используется для отправки агрегированных метрических данных в CloudWatch веб-сервисов Amazon.

CSV

Он используется для записи выходных событий через запятую.

Elasticsearch

Он используется для хранения выходных журналов в индексе Elasticsearch.

Эл. адрес

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

Exec

Он используется для запуска команды, соответствующей выходному событию.

ганглии

Это корчи метрики Гмонду Гангила.

gelf

Он используется для создания вывода для Graylog2 в формате GELF.

google_bigquery

Он выводит события в Google BigQuery.

google_cloud_storage

Он сохраняет выходные события в Google Cloud Storage.

графит

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

graphtastic

Он используется для записи выходных метрик в Windows.

hipchat

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

HTTP

Он используется для отправки событий выходного журнала на конечные точки http или https.

influxdb

Он используется для хранения выходного события в InfluxDB.

ИРЦ

Он используется для записи выходных событий в irc.

MongoDB

Он хранит выходные данные в MongoDB.

Nagios

Он используется для уведомления Nagios о результатах пассивной проверки.

nagios_nsca

Он используется для уведомления Nagios о результатах пассивной проверки по протоколу NSCA.

opentsdb

Он сохраняет выходные события Logstash в OpenTSDB.

труба

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

Rackspace

Он используется для отправки событий выходного журнала в службу очередей Rackspace Cloud.

Redis

Он использует команду rpush для отправки выходных данных журнала в очередь Redis.

Riak

Он используется для хранения выходных событий в распределенной паре ключ / значение Riak.

s3

Он сохраняет выходные данные регистрации в Amazon Simple Storage Service.

с.н.с.

Он используется для отправки выходных событий в Amazon Simple Notification Service.

solr_http

Он индексирует и сохраняет выходные данные регистрации в Solr.

СФС

Он используется для отправки событий в службу простой очереди AWS.

statsd

Он используется для отправки данных метрик в сетевой демон statsd.

стандартный вывод

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

системный журнал

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

ТСР

Он используется для отправки выходных событий в сокет TCP.

УДП

Он используется для передачи выходных событий через UDP.

WebSocket

Он используется для передачи выходных событий по протоколу WebSocket.

XMPP

Он используется для передачи выходных событий по протоколу XMPP.

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

Elasticsearch

Плагин вывода Elasticsearch позволяет Logstash сохранять выходные данные в определенных кластерах механизма Elasticsearch. Это один из известных вариантов пользователей, поскольку он входит в пакет ELK Stack и, следовательно, предоставляет комплексные решения для Devops. В следующей таблице описаны настройки этого выходного плагина.

Название настройки Значение по умолчанию Описание
действие индекс Он используется для определения действия, выполняемого в движке Elasticsearch. Другие значения для этих параметров: удаление, создание, обновление и т. Д.
cacert Он содержит путь к файлу с расширением .cer или .pem для проверки сертификата сервера.
кодер-декодер «Простой» Он используется для кодирования выходных данных регистрации перед отправкой в ​​источник назначения.
doc_as_upset ложный Этот параметр используется в случае действия обновления. Он создает документ в движке Elasticsearch, если идентификатор документа не указан в выходном плагине.
тип документа Он используется для хранения событий одного и того же типа в документе того же типа. Если он не указан, то для него используется тип события.
flush_size 500 Это используется для повышения производительности массовой загрузки в Elasticsearch
хостов [ «127.0.0.1»] Это массив адресов назначения для выходных данных регистрации
idle_flush_time 1 Он определяет ограничение по времени (секунда) между двумя сбросами, Logstash заставляет сбрасывать после указанного ограничения времени в этой настройке
индекс «Logstash -% {+ YYYY.MM.DD}» Используется для указания индекса двигателя Elasticsearch
manage_temlpate правда Используется для применения шаблона по умолчанию в Elasticsearch
родитель ноль Используется для указания идентификатора родительского документа в Elasticsearch
пароль Он используется для аутентификации запроса к безопасному кластеру в Elasticsearch
дорожка Он используется для указания HTTP-пути Elasticsearch.
трубопровод ноль Он используется для установки конвейера загрузки, пользователь хочет выполнить для события
полномочие Используется для указания HTTP прокси
retry_initial_interval 2 Он используется для установки начального интервала времени (в секундах) между массовыми повторными попытками. Он получает двойной после каждой попытки, пока не достигнет retry_max_interval
retry_max_interval 64 Используется для установки максимального интервала времени для retry_initial_interval
retry_on_conflict 1 Это число попыток Elasticsearch обновить документ
SSL Чтобы включить или отключить SSL / TLS, защищенный для Elasticsearch
шаблон Он содержит путь к настроенному шаблону в Elasticsearch
Имя Шаблона «Logstash» Это используется, чтобы назвать шаблон в Elasticsearch
Тайм-аут 60 Это время ожидания сетевых запросов к Elasticsearch
upsert «» Он обновляет документ или, если document_id не существует, он создает новый документ в Elasticsearch
пользователь Он содержит пользователя для аутентификации запроса Logstash в безопасном кластере Elasticsearch

Эл. адрес

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

Название настройки Значение по умолчанию Описание
адрес «Локальный» Это адрес почтового сервера
вложения [] Он содержит имена и места прикрепленных файлов
тело «» Он содержит текст письма и должен быть простым текстом
куб.см Он содержит адреса электронной почты через запятую для копии электронной почты
кодер-декодер «Простой» Он используется для кодирования выходных данных регистрации перед отправкой в ​​источник назначения.
Тип содержимого «text / html; charset = UTF-8» Используется для содержимого типа письма
отлаживать ложный Используется для запуска почтового ретранслятора в режиме отладки.
домен «Локальный» Используется для настройки домена для отправки сообщений электронной почты.
от «Logstash.alert@nowhere.com» Используется для указания адреса электронной почты отправителя.
htmlbody «» Используется для указания тела письма в формате html.
пароль Используется для аутентификации на почтовом сервере
порт 25 Он используется для определения порта для связи с почтовым сервером
ответить на Используется для указания идентификатора электронной почты для поля ответа на электронную почту
предмет «» Содержит строку темы письма
use_tls ложный Включить или отключить TSL для связи с почтовым сервером
имя пользователя Содержит имя пользователя для аутентификации на сервере
с помощью «SMTP» Он определяет методы отправки электронной почты от Logstash

Http

Этот параметр используется для отправки выходных событий через http к месту назначения. Этот плагин имеет следующие настройки —

Название настройки Значение по умолчанию Описание
automatic_retries 1 Используется для установки количества попыток http-запроса logstash.
cacert Содержит путь к файлу для проверки сертификата сервера
кодер-декодер «Простой» Он используется для кодирования выходных данных регистрации перед отправкой в ​​источник назначения.
Тип содержимого Я указываю тип содержимого http-запроса к целевому серверу
печенье правда Используется для включения или отключения куки
формат «JSON» Используется для установки формата тела http-запроса.
заголовки Содержит информацию http заголовка
http_method «» Он используется для указания метода http, используемого в запросе logstash, и значениями могут быть «положить», «опубликовать», «патч», «удалить», «получить», «голова»
request_timeout 60 Используется для аутентификации на почтовом сервере
URL Для этого плагина обязательна настройка конечной точки http или https

стандартный вывод

Плагин вывода stdout используется для записи выходных событий на стандартный вывод интерфейса командной строки. Это командная строка в Windows и терминал в UNIX. Этот плагин имеет следующие настройки —

Название настройки Значение по умолчанию Описание
кодер-декодер «Простой» Он используется для кодирования выходных данных регистрации перед отправкой в ​​источник назначения.
рабочие 1 Используется для указания количества рабочих на выходе

statsd

Это сетевой демон, используемый для отправки данных матриц по UDP в бэкэнд-сервисы назначения. Это командная строка в Windows и терминал в UNIX. Этот плагин имеет следующие настройки —

Название настройки Значение по умолчанию Описание
кодер-декодер «Простой» Он используется для кодирования выходных данных регистрации перед отправкой в ​​источник назначения.
подсчитывать {} Он используется для определения количества, которое будет использоваться в метриках
декремент [] Используется для указания имен метрик декремента.
хозяин «Локальный» Содержит адрес сервера statsd
приращение [] Используется для указания имен метрик приращения.
порт 8125 Содержит порт сервера statsd
частота дискретизации 1 Используется указать частоту выборки метрики
отправитель «% {Хост}» Указывает имя отправителя
задавать {} Используется для указания заданной метрики
синхронизация {} Используется для указания метрики синхронизации
рабочие 1 Используется для указания количества рабочих на выходе

Плагины фильтров

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

Синтаксис использования плагина фильтра следующий:

filter {
   Plugin name {
      Setting 1……
      Setting 2……..
   }
}

Вы можете скачать плагин фильтра с помощью следующей команды —

>logstash-plugin install logstash-filter-<plugin name>

Утилита Logstash-plugin находится в папке bin установочного каталога Logstash. В следующей таблице описываются выходные плагины, предлагаемые Logstash.

Sr.No. Название и описание плагина
1

совокупный

Этот плагин собирает или объединяет данные из различных событий одного типа и обрабатывает их в конечном событии

2

изменять

Это позволяет пользователю изменять поле событий журнала, которые не обрабатываются фильтром mutate.

3

анонимный

Используется для замены значений полей согласованным хешем

4

шифровать

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

5

клон

Он используется для создания дубликата выходных событий в Logstash

6

сличать

Он объединяет события из разных журналов по времени или количеству

7

CSV

Этот плагин анализирует данные из входных журналов по разделителю.

8

Дата

Он анализирует даты из полей в событии и устанавливает это как метку времени для события

9

рассекать

Этот плагин помогает пользователю извлекать поля из неструктурированных данных и позволяет фильтру Grok правильно анализировать их

10

падение

Он используется для отбрасывания всех событий того же типа или любого другого сходства

11

истекшее

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

12

Elasticsearch

Используется для копирования полей предыдущих событий журнала, присутствующих в Elasticsearch, в текущее поле в Logstash.

13

extractnumbers

Используется для извлечения числа из строк в журнале событий

14

GeoIP

Он добавляет поле в событие, которое содержит широту и долготу местоположения IP, присутствующего в журнале событий.

15

Grok

Это обычно используемый плагин фильтра для анализа события, чтобы получить поля

16

i18n

Удаляет специальные символы из поля в журнале событий

17

JSON

Он используется для создания структурированного объекта Json в событии или в определенном поле события

18

киловольт

Этот плагин полезен при разборе пар ключ-значение в данных регистрации

19

метрика

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

20

многострочный

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

21

мутировать

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

22

спектр

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

23

Рубин

Он используется для запуска произвольного кода Ruby

24

спать

Это делает Logstash спит в течение определенного времени

25

Трещина

Он используется для разделения поля события и размещения всех значений разделения в клонах этого события.

26

XML

Он используется для создания события путем анализа XML-данных, присутствующих в журналах.

совокупный

Этот плагин собирает или объединяет данные из различных событий одного типа и обрабатывает их в конечном событии

изменять

Это позволяет пользователю изменять поле событий журнала, которые не обрабатываются фильтром mutate.

анонимный

Используется для замены значений полей согласованным хешем

шифровать

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

клон

Он используется для создания дубликата выходных событий в Logstash

сличать

Он объединяет события из разных журналов по времени или количеству

CSV

Этот плагин анализирует данные из входных журналов по разделителю.

Дата

Он анализирует даты из полей в событии и устанавливает это как метку времени для события

рассекать

Этот плагин помогает пользователю извлекать поля из неструктурированных данных и позволяет фильтру Grok правильно анализировать их

падение

Он используется для отбрасывания всех событий того же типа или любого другого сходства

истекшее

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

Elasticsearch

Используется для копирования полей предыдущих событий журнала, присутствующих в Elasticsearch, в текущее поле в Logstash.

extractnumbers

Используется для извлечения числа из строк в журнале событий

GeoIP

Он добавляет поле в событие, которое содержит широту и долготу местоположения IP, присутствующего в журнале событий.

Grok

Это обычно используемый плагин фильтра для анализа события, чтобы получить поля

i18n

Удаляет специальные символы из поля в журнале событий

JSON

Он используется для создания структурированного объекта Json в событии или в определенном поле события

киловольт

Этот плагин полезен при разборе пар ключ-значение в данных регистрации

метрика

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

многострочный

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

мутировать

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

спектр

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

Рубин

Он используется для запуска произвольного кода Ruby

спать

Это делает Logstash спит в течение определенного времени

Трещина

Он используется для разделения поля события и размещения всех значений разделения в клонах этого события.

XML

Он используется для создания события путем анализа XML-данных, присутствующих в журналах.

Кодек плагины

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

Sr.No. Название и описание плагина
1

Avro

Этот плагин кодирует сериализацию событий Logstash в авро-датумы или декодирует записи avro в события Logstash

2

CloudFront

Этот плагин считывает закодированные данные из облачного фронта AWS

3

cloudtrail

Этот плагин используется для чтения данных из облачной трассы AWS

4

collectd

Это читает данные из двоичного протокола, называемого собранным по UDP

5

compress_spooler

Он используется для сжатия событий журнала в Logstash в буферные пакеты

6

точек

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

7

es_bulk

Это используется для преобразования массовых данных из Elasticsearch в события Logstash, включая метаданные Elasticsearch

8

графит

Этот кодек считывает данные из графита в события и преобразует событие в записи в графическом формате.

9

gzip_lines

Этот плагин используется для обработки данных в формате gzip

10

JSON

Это используется для преобразования одного элемента в массиве Json в одно событие Logstash

11

json_lines

Он используется для обработки данных Json с разделителем новой строки

12

линия

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

13

многострочный

Используется для преобразования многострочных данных в одно событие

14

поток данных, передающихся по сети

Этот плагин используется для преобразования данных nertflow v5 / v9 в события logstash

15

птар

Он анализирует данные результата nmap в формате XML

16

гладкий

Это читает текст без разделителей

17

rubydebug

Этот плагин будет записывать выходные события Logstash, используя потрясающую библиотеку печати Ruby.

Avro

Этот плагин кодирует сериализацию событий Logstash в авро-датумы или декодирует записи avro в события Logstash

CloudFront

Этот плагин считывает закодированные данные из облачного фронта AWS

cloudtrail

Этот плагин используется для чтения данных из облачной трассы AWS

collectd

Это читает данные из двоичного протокола, называемого собранным по UDP

compress_spooler

Он используется для сжатия событий журнала в Logstash в буферные пакеты

точек

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

es_bulk

Это используется для преобразования массовых данных из Elasticsearch в события Logstash, включая метаданные Elasticsearch

графит

Этот кодек считывает данные из графита в события и преобразует событие в записи в графическом формате.

gzip_lines

Этот плагин используется для обработки данных в формате gzip

JSON

Это используется для преобразования одного элемента в массиве Json в одно событие Logstash

json_lines

Он используется для обработки данных Json с разделителем новой строки

линия

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

многострочный

Используется для преобразования многострочных данных в одно событие

поток данных, передающихся по сети

Этот плагин используется для преобразования данных nertflow v5 / v9 в события logstash

птар

Он анализирует данные результата nmap в формате XML

гладкий

Это читает текст без разделителей

rubydebug

Этот плагин будет записывать выходные события Logstash, используя потрясающую библиотеку печати Ruby.

Создайте свой собственный плагин

Вы также можете создавать свои собственные плагины в Logstash, которые соответствуют вашим требованиям. Утилита Logstash-plugin используется для создания пользовательских плагинов. Здесь мы создадим плагин фильтра, который добавит пользовательское сообщение в события.

Генерация базовой структуры

Пользователь может сгенерировать необходимые файлы, используя опцию создания утилиты logstash-plugin, или она также доступна на GitHub.

>logstash-plugin generate --type filter --name myfilter --path c:/tpwork/logstash/lib

Здесь опция type используется для указания того, что плагин является либо Input, Output, либо Filter. В этом примере мы создаем плагин фильтра с именем myfilter . Параметр path используется для указания пути, по которому вы хотите создать каталог плагинов. После выполнения вышеупомянутой команды вы увидите, что структура каталогов создана.

Разработайте плагин

Вы можете найти файл кода плагина в папке \ lib \ logstash \ filters в каталоге плагина. Расширение файла будет .rb .

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

C:\tpwork\logstash\lib\logstash-filter-myfilter\lib\logstash\filters\myfilter.rb

Мы изменяем сообщение на — по умолчанию ⇒ «Привет, вы изучаете это на tutorialspoint.com» и сохраняете файл.

Установите плагин

Чтобы установить этот плагин, нужно изменить Gemfile of Logstash. Вы можете найти этот файл в каталоге установки Logstash. В нашем случае это будет в C: \ tpwork \ logstash . Отредактируйте этот файл с помощью любого текстового редактора и добавьте в него следующий текст.

gem "logstash-filter-myfilter",:path => "C:/tpwork/logstash/lib/logstash-filter-myfilter"

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

>logstash-plugin install --no-verify

тестирование

Здесь мы добавляем myfilter в одном из предыдущих примеров —

logstash.conf

Этот файл конфигурации Logstash содержит myfilter в разделе фильтра после плагина grok filter.

input {
   file {
      path => "C:/tpwork/logstash/bin/log/input1.log"
   } 
}
filter {
   grok {
      match => [
         "message", "%{LOGLEVEL:loglevel} - %{NOTSPACE:taskid} -
            %{NOTSPACE:logger} - %{WORD:label}( - %{INT:duration:int})?" ]
   }
   myfilter{}
}
output {
   file {
      path => "C:/tpwork/logstash/bin/log/output1.log"
      codec => rubydebug
   }
}

Запустите logstash

Мы можем запустить Logstash с помощью следующей команды.

>logstash –f logsatsh.conf

input.log

Следующий блок кода показывает входные данные журнала.

INFO - 48566 - TRANSACTION_START - start

output.log

В следующем блоке кода показаны данные журнала вывода.

{
   "path" => "C:/tpwork/logstash/bin/log/input.log",
   "@timestamp" => 2017-01-07T06:25:25.484Z,
   "loglevel" => "INFO",
   "logger" => "TRANSACTION_END",
   "@version" => "1",
   "host" => "Dell-PC",
   "label" => "end",
   "message" => "Hi, You are learning this on tutorialspoint.com",
   "taskid" => "48566",
   "tags" => []
}

Опубликуйте это на Logstash

Разработчик также может опубликовать свой собственный плагин в Logstash, загрузив его на github и выполнив стандартные шаги, определенные компанией Elasticsearch.

Пожалуйста, обратитесь к следующему URL для получения дополнительной информации о публикации —

https://www.elastic.co/guide/en/logstash/current/contributing-to-logstash.html