ELK学习指南(一)-filebeat

Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstarsh中存放。

以下是filebeat的工作流程:当你开启filebeat程序的时候,它会启动一个或多个探测器(prospectors)去检测你指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点。


1.  下载

https://www.elastic.co/downloads/beats/filebeat

2.  解压

tar -zxvf filebeat-1.3.0-x86_64.tar.gz

3.  配置,编辑filebeat.yml: vim filebeat.yml

#参考配置:

filebeat.prospectors:


# Each - is a prospector. Most options can be set at the prospector level, so
# you can use different prospectors for various configurations.
# Below are the prospector specific configurations.


- input_type: log


  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/hbase/hbase-hbase-master-dev*.log
#    - /var/log/hbase/hbase-hbase-master-dev*.log.[1-6]
  document_type: hbase-master_log
  multiline.pattern: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
  multiline.negate: true
  multiline.match: after


- input_type: log
  paths:
    - /var/log/hbase/hbase-hbase-regionserver-dev*.log
#    - /var/log/hbase/hbase-hbase-regionserver-dev*.log.[1-6]
  document_type: hbase-regionserver_log
  multiline.pattern: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}
  multiline.negate: true
  multiline.match: after


output.logstash:
  #hosts: ["172.18.5.64:5044"]
  hosts: ["172.18.5.156:5044"]


output.console:
  pretty: true

4.  配置说明

1)paths:指定要监控的日志,目前按照Go语言的glob函数处理。没有对配置目录做递归处理,比如配置的如果是:

/var/log/* /*.log

则只会去/var/log目录的所有子目录中寻找以”.log”结尾的文件,而不会寻找/var/log目录下以”.log”结尾的文件。

2)input_type:指定文件的输入类型log(默认)或者stdin。

3) document_type:设定Elasticsearch输出时的document的type字段,也可以用来给日志进行分类。

4)把elasticsearch和其下的所有都注释掉(这里Filebeat是新安装的,只注释这2处即可)

output:

    #elasticsearch:

      #   hosts: ["localhost:9200"]

5)开启 logstash(删除这两行前的#号),并把localhost改为logstash服务器地址:

logstash:

hosts: ["10.1.5.65:5044"]

6)如果开启logstash了,那么Logstash配置中要设置监听端口 5044: 
这个是默认文件位置,如果不存在请自行查找:

vim /etc/logstash/conf.d/beats-input.conf

7)增加端口

input {
  beats {
    port => 5044
  }
}

2.  启动

1)测试

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

如果能看到一堆东西输出,表示正在向elasticsearch或logstash发送日志。 
如果是elasticsearch可以浏览:

http://localhost:9200/_search?pretty 

如果有新内容返回,表示ok测试正常后,Ctrl+C结束。

2)启动(后台)

nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &

3)停止

ps aux | grep filebeat
kill -9  id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值