一、场景
测试环境中频繁操作产生日志例如打印刻录日志会比较浪费时间,想到将日志保存到本地文件汇总,然后使用logstash将本地文件作为input输入,即可在不实际操作的情况下对日志进行格式分析
二、解决方案
- 先将产生的日志保存到本地文件中,这里为了测试我使用的是
stdin
输入插件获取内容;使用file
输出插件保存日志到本地文件
input{
stdin{}
}
output{
file{
path=>"/export/server/logstash-8.1.2/test.txt"
# 这句的作用是将文件作为json格式保存
codec=>"json"
}
}
2. 本地获取到日志之后再次启动logstash,使用file
输入插件将本地文件输入,使用stdout
将日志输出,测试配置文件效果(启动logstash之后没有输出,在test.txt文件后加或删一个换行)
input{
file{
path=>"/export/server/logstash-8.1.2/test.txt"
# 以json格式解析数据
codec=>"json"
}
}
output{
stdout{}
}
3. 检查发现还有很多冗余字段例如host.name
、log
等,使用mutate
过滤插件对字段进行处理(当logstash不加载本地文件时,对文件进行简单操作即可,例如增加或删除一个空行)文章来源:https://www.toymoban.com/news/detail-537041.html
input{
file{
path=>"/export/server/logstash-8.1.2/test.txt"
# 以json格式解析数据
codec=>"json"
}
}
filter{
mutate {
remove_field =>[
"[log][file]",
"[host][name]"
]
replace =>{
"[event][original]"=>"%{message}"
}
}
}
output{
stdout{}
}
文章来源地址https://www.toymoban.com/news/detail-537041.html
到了这里,关于logstash~logstash将本地文件中的日志作为input处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!