Elasticsearch(十一) logstash入门

Elasticsearch: 6.4.2

Logstash: 6.4.2

1. 执行过程

Logstash事件进程管道有三个阶段:input->filter->output,其中input和output是必须的,filter是可选的;input默认为stdin,output默认为stdout。

  • inputs:常用的有file、syslog、redis、jdbc、beats等。

  • filters:常用的有:

    • grok:解析和结构化任意文本。常用来解析非结构化的log;内置120种解析模式。
    • mutate:对事件类型执行转换,可以rename、remove、replace、modify。
    • drop:完全丢掉一种事件。
    • geoip:添加IP地址的地理位置信息。
  • outputs:常用的有elasticsearch、file、graphite、statsd。

Codecs是基本的对input/output的流式过滤器,常见的有json、multiline、plain。

执行过程:logstash管道中每个input阶段都运行在独立的线程中。Inputs将事件写到一个存在于内存或硬盘的集中式queue中;每个管道worker从queue取一批事件(数量可配置)并按序执行配置的filters,最后将结果写入到outputs。

2. 简单实例

下载filebeat、logstash二进制包并解压。

下载apache日志

filebeat读取apache日志并发送到logstash,logstash将其输出到stdout。

filebeat.yml

filebeat.prospectors:
- type: log
  paths:
    - /path/to/logstash-tutorial.log 
output.logstash:
  hosts: ["localhost:5044"]

启动filebeat

./filebeat -e -c filebeat.yml -d "publish"

logstash-sample.conf

input {
  beats {
        port => "5044"
    }
}

output {
  stdout { codec => rubydebug }
}

启动logstash

bin/logstash -f config/logstash-sample.conf --config.reload.automatic
  • –config.reload.automatic:自动重加载配置文件,当你修改配置文件后不再需要stop并restart logstash了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值