Учебники

Logstash — Поддерживаемые входы

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

Собирать логи из метрик

Системные события и другие временные действия записываются в метриках. Logstash может получить доступ к журналу из системных показателей и обработать их с помощью фильтров. Это помогает показать пользователю прямую трансляцию событий в индивидуальном порядке. Метрики сбрасываются в соответствии с настройкой фильтра метрик flush_interval и по умолчанию; он установлен на 5 секунд.

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

logstash.conf

Эта конфигурация содержит плагин генератора, который предлагается Logstash для тестовых метрик и устанавливает для параметра типа «сгенерированный» для анализа. На этапе фильтрации мы обрабатываем только строки сгенерированного типа с помощью оператора if. Затем плагин метрики считает поле, указанное в настройках счетчика. Плагин metrics сбрасывает счет после каждых 5 секунд, указанных в flush_interval .

Наконец, выведите события фильтра в стандартный вывод, такой как командная строка, используя плагин кодека для форматирования. Плагин Codec использует значение [ events ] [ rate_1m ] для вывода событий в секунду в 1-минутном скользящем окне.

input {
   generator {
     	type => "generated"
   }
}
filter {
   if [type] == "generated" {
      metrics {
         meter => "events"
         add_tag => "metric"
      }
   }
}
output {
   # only emit events with the 'metric' tag
   if "metric" in [tags] {
      stdout {
         codec => line { format => "rate: %{[events][rate_1m]}"
      }
   }
}

Запустите Logstash

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

>logsaths –f logstash.conf

стандартный вывод (командная строка)

rate: 1308.4
rate: 1308.4
rate: 1368.654529135342
rate: 1416.4796003951449
rate: 1464.974293984808
rate: 1523.3119444107458
rate: 1564.1602979542715
rate: 1610.6496496890895
rate: 1645.2184750334154
rate: 1688.7768007612485
rate: 1714.652283095914
rate: 1752.5150680019278
rate: 1785.9432934744932
rate: 1806.912181962126
rate: 1836.0070454626025
rate: 1849.5669494173826
rate: 1871.3814756851832
rate: 1883.3443123790712
rate: 1906.4879113216743
rate: 1925.9420717997118
rate: 1934.166137658981
rate: 1954.3176526556897
rate: 1957.0107444542625

Сбор журналов с веб-сервера

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

Мы извлекаем данные из журналов stderr локального сервера Apache Tomcat и сохраняем их в файле output.log.

logstash.conf

Этот файл конфигурации Logstash указывает Logstash на чтение журналов ошибок apache и добавление тега с именем «apache-error». Мы можем просто отправить его в output.log с помощью плагина вывода файла.

input {
   file {
      path => "C:/Program Files/Apache Software Foundation/Tomcat 7.0 /logs/*stderr*"
      type => "apache-error"  
   }
} 
output {
   file {
      path => "C:/tpwork/logstash/bin/log/output.log"
   }
}

Запустите Logstash

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

>Logstash –f Logstash.conf

Образец входного журнала

Это пример журнала stderr , который генерируется, когда события сервера происходят в Apache Tomcat.

C: \ Program Files \ Apache Software Foundation \ Tomcat 7.0 \ logs \ tomcat7-stderr.2016-12-25.log

Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-9999"]
Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Dec 25, 2016 7:05:14 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 823 ms

output.log

{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"Dec 25, 2016 7:05:14 PM org.apache.coyote.AbstractProtocol start\r",
   "type":"apache-error","tags":[]
}
{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"INFO: Starting ProtocolHandler [
      \"ajp-bio-8009\"]\r","type":"apache-error","tags":[]
}
{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"Dec 25, 2016 7:05:14 PM org.apache.catalina.startup.Catalina start\r",
   "type":"apache-error","tags":[]
}
{
   "path":"C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/
   tomcat7-stderr.2016-12-25.log","@timestamp":"2016-12-25T11:05:27.045Z",
   "@version":"1","host":"Dell-PC",
   "message":"INFO: Server startup in 823 ms\r","type":"apache-error","tags":[]
}

Сбор журналов из источников данных

Для начала давайте разберемся, как настроить MySQL для ведения журнала. Добавьте следующие строки в файл my.ini сервера базы данных MySQL под [mysqld].

В окнах он присутствует внутри установочного каталога MySQL, который находится в —

C:\wamp\bin\mysql\mysql5.7.11

В UNIX вы можете найти его в — /etc/mysql/my.cnf

general_log_file   = "C:/wamp/logs/queries.log"
general_log = 1

logstash.conf

В этом конфигурационном файле плагин файла используется для чтения журнала MySQL и записи его в файл ouput.log.

input {
   file {
      path => "C:/wamp/logs/queries.log"
   }
}
output {
   file {
      path => "C:/tpwork/logstash/bin/log/output.log"
   }
}

queries.log

Это журнал, сгенерированный запросами, выполненными в базе данных MySQL.