0

Я только что создал сервер ELK в Windows, поэтому я новичок в этом процессе. Я прочитал документы, но у меня возникли проблемы с разбором моих расширенных журналов IIS, особенно с х-пересылаемыми данными, поскольку мы находимся за балансировщиком нагрузки.logstash и x-forwarded-for on IIS

Мое расширенное ведение журнала настроено для вывода данных типа это:

$date, $time, $s-ip, $cs-uri-stem, $cs-uri-query, $s-port, $cs-username, $c-ip, $X-Forwarded-For, $csUser-Agent, $cs-Referer, $sc-status, $sc-substatus, $sc-win32-status, $time-taken 

Я настроил мой logstash.conf так:

input { 
    tcp { 
     host => "localhost" 
      type => "iis" 
      port => 5044 

    } 
} 
filter { 
    if [type] == "iis" { 
     grok { 
      match => {"message" => "%{TIMESTAMP_ISO8601:log_timestamp} %{IPORHOST:site} %{URIPATH:page} %{NOTSPACE:query_string} %{NUMBER:port} %{NOTSPACE:username} %{IPORHOST:client_host} %{NOTSPACE:useragent} %{NOTSPACE:referer} %{GREEDYDATA:response} %{NUMBER:httpStatusCode:int} %{NUMBER:scSubstatus:int} %{NUMBER:scwin32status:int} %{NUMBER:timeTakenMS:int}"} 
     } 
    } 
} 
output { 
    elasticsearch { 
     hosts => ["localhost:9200"] 
     index => "iis" 
     document_type => "main" 
    } 
} 

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

В настоящее время я использую filebeat с одного сервера для передачи данных на мой сервер ELK. Я не уверен, что это лучший способ (возможно, nxlog?). Мы не хотим устанавливать logstash на клиентских компьютерах.

Может ли кто-нибудь дать мне руку? Это было бы БОЛЬШЕ оценено !!

Спасибо, Джордж

+0

Вы уверены, что получаете данные в своем Logstash? Возможно, порт закрыт/logstash не может получить к нему доступ. Сначала вы должны это проверить. Также, если в журналах или на выходе есть что-нибудь? – baudsp

+0

Для сопоставления им не нужно просто помещать данные в ES. Для вашего индекса Elasticsearch при работе с журналами лучше иметь [ежедневный индекс] (https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs- elasticsearch-index), что упрощает очистку ваших данных. – baudsp

ответ

0

Поскольку вы используете Filebeat, то вам нужно использовать вход ударов, а не входной ТСР. См. Документацию по адресу how to setup Logstash for Beats.

По сути вы должны заменить ввод TCP с:

input { 
    beats { 
    port => 5044 
    } 
} 

И в файле конфигурации Filebeat, установите document_type в iis так, что ваше состояние фильтра будет соответствовать.

filebeat: 
    prospectors: 
    - paths: 
     - 'C:\path\to\your\iis\logs\*.log' 
     document_type: iis 

 Смежные вопросы

  • Нет связанных вопросов^_^