filebeat配置详解

配置主要是通过yml文件进行的,主要参数如下:

(1)字段解释

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

/var/log/* /*.log

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

encoding:指定被监控的文件的编码类型,使用plain和utf-8都是可以处理中文日志的。

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

scan_frequency:Filebeat以多快的频率去prospector指定的目录下面检测文件更新(比如是否有新增文件),如果设置为0s,则Filebeat会尽可能快地感知更新(占用的CPU会变高)。默认是10s。

multiline:适用于日志中每一条日志占据多行的情况,比如各种语言的报错信息调用栈。这个配置的下面包含如下配置:

pattern:多行日志开始的那一行匹配的pattern

negate:是否需要对pattern条件转置使用,不翻转设为true,反转设置为false。

match:匹配pattern后,与前面(before)还是后面(after)的内容合并为一条日志

max_lines:合并的最多行数(包含匹配pattern的那一行),默认为500行。

timeout:到了timeout之后,即使没有匹配一个新的pattern(发生一个新的事件),也把已经匹配的日志事件发送出去

tail_files:如果设置为true,Filebeat从文件尾开始监控文件新增内容,把新增的每一行文件作为一个事件依次发送,而不是从文件开始处重新发送所有内容。

配置文件:

filebeat.inputs:
- type: log
  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/*.log

 配置文件格式非常重要,包括横杠-之后紧跟一个空格,行首空格应该为两个等。

测试filebeat启动后,查看相关输出信息:

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

后台方式启动filebeat:

1
nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &  将所有标准输出及标准错误输出到/dev/null空设备,即没有任何输出
1
nohup ./filebeat -e -c filebeat.yml > filebeat.log &

停止filebeat:

查找进程ID并kill掉:

1
ps -ef |grep filebeat<br>kill -9  进程号

 

posted @ 2019-12-06 10:10  decq!  阅读(2783)  评论(0编辑  收藏  举报