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. Для получения дополнительной информации посетите |
|
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.
Для получения дополнительной информации посетите
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» | Используется для содержимого типа письма |
отлаживать | ложный | Используется для запуска почтового ретранслятора в режиме отладки. |
домен | «Локальный» | Используется для настройки домена для отправки сообщений электронной почты. |
от | «[email protected]» | Используется для указания адреса электронной почты отправителя. |
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