Журналы с разных серверов или источников данных собираются с помощью грузоотправителей. Грузоотправитель — это экземпляр Logstash, установленный на сервере, который обращается к журналам сервера и отправляет их в определенное выходное местоположение.
Он в основном отправляет вывод в Elasticsearch для хранения. Logstash принимает данные из следующих источников —
- STDIN
- Syslog
- файлы
- TCP / UDP
- Microsoft Windows Eventlogs
- WebSocket
- ZeroMQ
- Индивидуальные расширения
Сбор журналов с использованием Apache Tomcat 7 Server
В этом примере мы собираем журналы сервера Apache Tomcat 7, установленного в Windows, с помощью плагина ввода файлов и отправляем их в другой журнал.
logstash.conf
Здесь Logstash настроен для доступа к журналу доступа Apache Tomcat 7, установленному локально. Шаблон регулярных выражений используется в настройке пути модуля плагина для получения данных из файла журнала. Это имя содержит «доступ» и добавляет тип apache, который помогает отличать события apache от других в централизованном источнике назначения. Наконец, выходные события будут показаны в output.log.
input { file { path => "C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/*access*" type => "apache" } } output { file { path => "C:/tpwork/logstash/bin/log/output.log" } }
Запустите Logstash
Мы можем запустить Logstash с помощью следующей команды.
C:\logstash\bin> logstash –f Logstash.conf
Apache Tomcat Log
Получите доступ к серверу Apache Tomcat и его веб-приложениям ( http: // localhost: 8080 ) для создания журналов. Обновленные данные в журналах считываются Logstash в режиме реального времени и сохраняются в output.log, как указано в файле конфигурации.
Apache Tomcat генерирует новый файл журнала доступа в соответствии с датой и регистрирует там события доступа. В нашем случае это был localhost_access_log.2016-12-24.txt в каталоге журналов Apache Tomcat.
0:0:0:0:0:0:0:1 - - [ 25/Dec/2016:18:37:00 +0800] "GET / HTTP/1.1" 200 11418 0:0:0:0:0:0:0:1 - munish [ 25/Dec/2016:18:37:02 +0800] "GET /manager/html HTTP/1.1" 200 17472 0:0:0:0:0:0:0:1 - - [ 25/Dec/2016:18:37:08 +0800] "GET /docs/ HTTP/1.1" 200 19373 0:0:0:0:0:0:0:1 - - [ 25/Dec/2016:18:37:10 +0800] "GET /docs/introduction.html HTTP/1.1" 200 15399
output.log
Вы можете видеть в выходных событиях, поле типа добавлено, и событие присутствует в поле сообщения.
{ "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/ localhost_access_log.2016-12-25.txt", "@timestamp":"2016-12-25T10:37:00.363Z","@version":"1","host":"Dell-PC", "message":"0:0:0:0:0:0:0:1 - - [25/Dec/2016:18:37:00 +0800] \"GET / HTTP/1.1\" 200 11418\r","type":"apache","tags":[] } { "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/ localhost_access_log.2016-12-25.txt","@timestamp":"2016-12-25T10:37:10.407Z", "@version":"1","host":"Dell-PC", "message":"0:0:0:0:0:0:0:1 - munish [25/Dec/2016:18:37:02 +0800] \"GET / manager/html HTTP/1.1\" 200 17472\r","type":"apache","tags":[] } { "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/ localhost_access_log.2016-12-25.txt","@timestamp":"2016-12-25T10:37:10.407Z", "@version":"1","host":"Dell-PC", "message":"0:0:0:0:0:0:0:1 - - [25/Dec/2016:18:37:08 +0800] \"GET /docs/ HTTP/1.1\" 200 19373\r","type":"apache","tags":[] } { "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/ localhost_access_log.2016-12-25.txt","@timestamp":"2016-12-25T10:37:20.436Z", "@version":"1","host":"Dell-PC", "message":"0:0:0:0:0:0:0:1 - - [25/Dec/2016:18:37:10 +0800] \"GET /docs/ introduction.html HTTP/1.1\" 200 15399\r","type":"apache","tags":[] }
Сбор журналов с помощью плагина STDIN
В этом разделе мы обсудим еще один пример сбора журналов с использованием плагина STDIN .
logstash.conf
Это очень простой пример, когда Logstash читает события, введенные пользователем в стандартный ввод. В нашем случае это командная строка, которая хранит события в файле output.log.
input { stdin{} } output { file { path => "C:/tpwork/logstash/bin/log/output.log" } }
Запустите Logstash
Мы можем запустить Logstash с помощью следующей команды.
C:\logstash\bin> logstash –f Logstash.conf
Введите следующий текст в командной строке —
Пользователь ввел следующие две строки. Logstash разделяет события с помощью параметра-разделителя, и его значение по умолчанию равно «\ n». Пользователь может изменить, изменив значение разделителя в файле плагина.
Tutorialspoint.com welcomes you Simply easy learning
output.log
В следующем блоке кода показаны данные журнала вывода.