扫二维码与项目经理沟通
全景拍摄制作、网站/小程序/App开发
家装/婚庆/餐饮/教育/公共医疗等行业解决方案
官网下载地址:https://www.elastic.co/cn/downloads/beats/filebeat
cd ~/homehttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.16.2-linux-x86_64.tar.gztar -xzvf filebeat-7.16.2-linux-x86_64.tar.gzrm filebeat-7.16.2-linux-x86_64.tar.gzcd filebeat-7.16.2-linux-x86_64/# 修改配置文件 vim filebeat.yml
直接连接logstash:设置:
filebeat.inputs:- type: filestream enabled: true paths: - ./sample.log output.logstash: hosts: ["localhost:9600"]
显示结果:
[root@local filebeat-7.16.2-linux-x86_64]$ ./filebeat test outputlogstash: localhost:9600... connection... parse host... OK dns lookup... OK addresses: ::1, 127.0.0.1 dial up... OK TLS... WARN secure connection disabled talk to server... OK
input { beats { port => 9600 }}output { elasticsearch { hosts => ["http://localhost:9200"] index => "你的索引名称_%{+YYYY.MM.dd}" #user => "elastic" #password => "changeme" }}
这里定义了4561接收日志,并输出到elasticsearch。重新加载logstash。
./filebeat -e -c filebeat.yml
# 后台启动nohup ./filebeat -e -c filebeat.yml > /dev/null &
然后去Discover,发现这时可以看到日志了,但格式不太友好。
配置多行日志配置项示例:
multiline.pattern: ^\[multiline.negate: truemultiline.match: after
上面意思是将所有不是以[开头的行与之前行进行合并 。
参数讲解:
multiline.pattern 匹配多行的正则表达式multiline.negate 多行模式是否禁用,默认为falsemultiline.match 如何合并,可选的值是 after 或者 before。multiline.flush_pattern 指定一个正则表达式,多行将从内存刷新到磁盘。multiline.max_lines 可以合并成一个事件的最大行数,超出将丢弃,默认值500。
正则表达式可以使用:space:表示空格,如:
multiline.pattern: ^[[:space:]]
表示合并以空格开始的行。可以使用|来表示或操作:
multiline.pattern: ^[[:space:]]+(at|\.{3})\b|^Caused by:
上面表示空格开头或以Caused by:开头的进行合并。
下面是合并反斜杠结束的行,使用一个\转义。$是代表结束符
multiline.pattern: \\$
针对ThinkPHP日志特点,起始行会有一排 -----,所以可以设置多行匹配模式如下:
全景拍摄制作、网站/小程序/App开发
家装/婚庆/餐饮/教育/公共医疗等行业解决方案