网站首页 > 技术文章 正文
一、准备环境
- CentOS
- 已安装ELK
二、安装filebeat
官网下载地址:
https://www.elastic.co/cn/downloads/beats/filebeat
cd ~/home
https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.16.2-linux-x86_64.tar.gz
tar -xzvf filebeat-7.16.2-linux-x86_64.tar.gz
rm filebeat-7.16.2-linux-x86_64.tar.gz
cd 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 output
logstash: 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
三、logstash设置
input {
beats {
port => 9600
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "你的索引名称_%{+YYYY.MM.dd}"
#user => "elastic"
#password => "changeme"
}
}
这里定义了4561接收日志,并输出到elasticsearch。
重新加载logstash。
四、启动filebeat调试
./filebeat -e -c filebeat.yml
# 后台启动
nohup ./filebeat -e -c filebeat.yml > /dev/null &
五、到kibana建一个索引,名称与自己建的索引名称一致
然后去Discover,发现这时可以看到日志了,但格式不太友好。
六、filebeat配置多行日志选项
配置多行日志配置项示例:
multiline.pattern: '^\['
multiline.negate: true
multiline.match: after
上面意思是将所有不是以[开头的行与之前行进行合并 。
参数讲解:
multiline.pattern 匹配多行的正则表达式
multiline.negate 多行模式是否禁用,默认为false
multiline.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: '\\#39;
针对ThinkPHP日志特点,起始行会有一排 -----,所以可以设置多行匹配模式如下:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
multiline.pattern: '^-'
multiline.negate: true
multiline.match: after
encoding: utf-8
这时再去kibana看日志显示,点击左侧message,只显示message内容 ,这时右边显示就友好多了:
猜你喜欢
- 2025-06-12 CentOS7安装Mongodb 4.x.x
- 2025-06-12 VMware11将至,最新10.0.4或为VMware10绝唱
- 2025-06-12 Step by Step之CentOS7安装Selenium篇
- 2025-06-12 centos6.5系统中,yum源报错,如何解决?
- 2025-06-12 CENTOS Mysql5.7数据库自动安装脚本
- 2025-06-12 CentOS 9 下 MLFlow 官方 Totorial 详解 : (四) 部署模型 Serve
- 2025-06-12 CentOS各版本介绍及下载
- 2025-06-12 CentOS7.5系统更新yum源的详细过程
- 2025-06-12 CentOS7系统如何修改主机名
- 2025-06-12 CentOS 版 VSFTPD 全面配置与运维手册
- 06-22Python开发工程师必会的3个设计模式(工厂、单例、适配器)
- 06-22创建型设计模式——工厂模式和抽象工厂模式
- 06-221. 工厂模式详解
- 06-22工厂模式详解
- 06-22设计模式问题:说一说简单工厂模式?
- 06-22深入设计模式:工厂方法
- 06-22C++设计模式——简单工厂模式
- 06-22什么是工厂模式?工厂模式有哪些类型?如何使用它们?
- 最近发表
- 标签列表
-
- axure 注册码 (25)
- exploit db (21)
- mutex_lock (30)
- oracleclient (27)
- think in java (14)
- javascript权威指南 (19)
- nfs (25)
- componentart (17)
- yii框架 (14)
- springbatch (28)
- oracle数据库备份 (25)
- iptables (21)
- 自动化单元测试 (18)
- mvc模式 (13)
- python编写软件 (14)
- dir (26)
- connectionstring属性尚未初始化 (23)
- output (32)
- panel滚动条 (28)
- centos 5 4 (23)
- sql学习 (33)
- dfn (14)
- http error 503 (21)
- pop3服务器 (18)
- 图表组件 (17)