码迷,mamicode.com
首页 > 其他好文 > 详细

使用elasticsearch和filebeat做日志收集

时间:2018-08-30 00:17:27      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:lin   line   hosts   一个   ESS   www   follow   启动   host   

在存储数据之前,elasticsearch可以使用Ingest Node对数据做预处理。
https://www.elastic.co/guide/en/beats/filebeat/current/configuring-ingest-node.html

1 使用ingest功能

1.1 定义一个pipeline

例如grib2-pipeline.json
技术分享图片
grok可以使用预定义Patterns(%{Pattern:name}匹配提取字段),也可以直接使用正则表达式(分组命名提取字段)

1.2 将pipeline添加到elasticsearch中

curl -H ‘Content-Type: application/json‘ -XPUT ‘http://localhost:9200/_ingest/pipeline/grib2‘ -d@grib2-pipeline.json

1.3 如何使用ingest功能

https://www.elastic.co/guide/en/elasticsearch/reference/6.4/ingest.html

PUT my-index/_doc/my-id?pipeline=my_pipeline_id
{
"foo": "bar"
}

2 配置filebeat

2.1 新建 ack.yml文件

filebeat.inputs:
- type: log
paths:
- /opt/deploy/storm/logs/workers-artifacts/grib2*/*/worker.log
include_lines: [‘ack ‘]

output.elasticsearch:
hosts: ["127.0.0.1:9200"]
pipeline: grib2
index: "grib2-%{+yyyy.MM.dd}"

setup.template.name: "grib2"
setup.template.pattern: "grib2-*"

通过setup.template.name|pattern 和 output.elasticsearch.index配置索引的名称,便于将来的使用。

2.2 启动filebeat

nohup ./filebeat -c ack.yml &
-c 指定配置文件;nohup & 后台运行;

3 检索日志

http://localhost:9200/grib2*/_search

使用elasticsearch和filebeat做日志收集

标签:lin   line   hosts   一个   ESS   www   follow   启动   host   

原文地址:http://blog.51cto.com/dressame/2166174

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!