Я использую filebeat с ES как выход. Я уточнял: input_type: войти document_type: апач пути: -/вар/Журнал/HTTPD/* _ войти в /etc/filebeat/filebeat.yml и я в состоянии успешно видеть результаты в Kibana. Я, однако, играю с «Watcher» и пытаюсь создать часы на основе кода возврата HTTP 404, я не вижу поля в моих результатах файла Kibana, которые соответствуют и только «404», что-то вроде «ответа», Я боюсь, что у меня что-то не хватает, потому что filebeat и ELK - это БОЛЬШИЕ продукты, и помощь будет оценена.Имя поля ответа Apache в filebeat
ответ
Filebeat направляет строку журнала «как есть» в поле message
каждого события. Чтобы продолжить обработку сообщения, чтобы извлечь данные, такие как код ответа, в свои собственные поля, вы можете использовать Logstash.
В Logstash вы бы использовать beats input для получения данных от Filebeat, а затем применить grok filter для анализа данных из сообщения, и, наконец, использовать выход elasticsearch, чтобы записать данные в Elasticsearch.
Альтернативой использованию 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.
Я определенно вижу поля для ответа, реферер, ответ и т. Д.