Yemilice

博客已经迁移:https://www.yemilice.com/ 文章不会再双更新,感谢多年陪伴,新博再见。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Filebeat 导入 Elastaticsearch 的方法

1. 什么是Filebeat?到底是干什么的?

Filebeat说实话,就是一个日志监控分发器,类似tail -f这样去监控某个日志,或者是某个目录下的日志文件。它会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到elasticsearch或者logstarsh中存放。

2. 如何安装Filebeat?

官网下载rpm包地址:点进去直接选下载
下载下来RPM包,直接rpm -ivh filebeat.rpm就可以了

3. filebeat的正确配置

这里比较重要,我会在这里详细的说一下filebeat的基本配置。
我这里定义了:
1.多个日志文件导入
2.多个日志文件区分
3.多个日志文件不同的index索引
4.日志index名称修改

- type: log   # 日志类型
  enabled: true    #监控开启
  paths:           # 日志的存放位置,你可以用*.log来监控所有日志
    - /var/log/infinity_moninfo.log              
  tags: ["monlog"]                #日志tag,自定义的一个值,做区分用
  fields: 
        type: monlog               #修改type的值为monlog, 原来为log
  fields_under_root: true          #替换/覆盖默认的filed值,也就是上面的type
- type: log
  enabled: true
  paths:
    - /var/log/infinity_opinfo.log
  tags: ["oplog"]
  fields:
        type: oplog
  fields_under_root: true
- type: log
  enabled: true
  paths:
    - /var/log/smbd_audit.log
  tags: ["auditlog"]
  fields:
        type: auditlog
  fields_under_root: true



setup.template.settings:
  index.number_of_shards: 3     #分片个数

output.elasticsearch:           #基础的Es设置
  hosts: ["127.0.0.1:9200"]     #Es的地址
  indices:                      #自定义索引
    #- index: "monlog-%{+yyyy-MM-dd}"   #旧的索引默认是带日期的,如果要修改默认的模式,需要在下面template进行配置
    - index: "monlog"                   #设定索引monlog
      when.contains:					#开始区分
        type: "monlog"				  #如果type为monlog,就默认生成monlog的索引
    - index: "oplog"
      when.contains:
        type: "oplog"
    - index: "auditlog"
      when.contains:
        type: "auditlog"


setup.template:           #索引的默认模式修改
  name: 'infinity-log'    #定义为单纯的姓名,如果你要定义其他的模式,例如时间,那就是:infinity-log-%{+yyyy-MM-dd}
  pattern: 'infinity-log'
  enabled: true

filebeat的异常处理

1.服务挂掉怎么办?
解答:挂掉了之后,再次启动,会从上次断开的地方继续监控日志。
2.删掉了log文件该怎么办?
解答:没事,顶多filebeat的log报错

posted on 2019-01-11 10:33  Yemilice  阅读(2579)  评论(0编辑  收藏  举报