2016-08-03 5 views
0

Я использую filebeat с ES как выход. Я уточнял: input_type: войти document_type: апач пути: -/вар/Журнал/HTTPD/* _ войти в /etc/filebeat/filebeat.yml и я в состоянии успешно видеть результаты в Kibana. Я, однако, играю с «Watcher» и пытаюсь создать часы на основе кода возврата HTTP 404, я не вижу поля в моих результатах файла Kibana, которые соответствуют и только «404», что-то вроде «ответа», Я боюсь, что у меня что-то не хватает, потому что filebeat и ELK - это БОЛЬШИЕ продукты, и помощь будет оценена.Имя поля ответа Apache в filebeat

ответ

0

Filebeat направляет строку журнала «как есть» в поле message каждого события. Чтобы продолжить обработку сообщения, чтобы извлечь данные, такие как код ответа, в свои собственные поля, вы можете использовать Logstash.

В Logstash вы бы использовать beats input для получения данных от Filebeat, а затем применить grok filter для анализа данных из сообщения, и, наконец, использовать выход elasticsearch, чтобы записать данные в Elasticsearch.

0

Альтернативой использованию Logstash является использование «Ingest Node» и подходящего конвейера в Elasticsearch.

https://www.elastic.co/guide/en/beats/filebeat/5.0/configuring-ingest-node.html

Вы можете создать конвейер, который включает в себя процессор ГРОК:

https://www.elastic.co/guide/en/elasticsearch/reference/5.0/grok-processor.html

Я сделал это с этим pipeline.json файла:

{ 
    "description": "Combined Apache Log Pipeline", 
    "processors": [ 
    { 
     "grok": { 
     "field": "message", 
     "patterns": [ "%{COMBINEDAPACHELOG}" ] 
     } 
    } 
    ] 
} 

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

curl -XPUT 'http://node-01.example.com:9200/_ingest/pipeline/combined-apache-log' [email protected] 

Наконец, я обновил filebeat.yml сказать выход Elasticsearch для обработки событий с трубопроводом:

#================================ Outputs ===================================== 

#-------------------------- Elasticsearch output ------------------------------ 
output.elasticsearch: 
    # Array of hosts to connect to. 
    hosts: 
    - "192.168.0.1:9200" 
    - "192.168.0.2:9200" 
    - "192.168.0.3:9200" 
    loadbalance: true 
    pipeline: combined-apache-log 

Это, кажется, работает без необходимости Logstash.

Я определенно вижу поля для ответа, реферер, ответ и т. Д.

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

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