使用logstash的input file filter收集日志文件
使用logstash的input file filter收集日志文件
一、需求
使用logstash读取本地磁盘上的文件,并通过标准输出输出出来。
二、实现步骤
1、前置知识
1、读取本地磁盘文件?
可以通过 input file plugin 来实现。
2、如何保证文件的每一行只读取一次?
这个是通过 sincedb来保证的。
2、编写pipeline文件
vim multi-input/multi-input.conf
input {
file {
path => ["/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-input/redis.log"]
start_position => "beginning"
sincedb_path => "/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-input/sincedb.db"
type => "redis"
mode => "read"
stat_interval => "1 second"
discover_interval => 15
sincedb_write_interval => 15
add_field => {
"custom_mode" => "tail"
}
}
file {
path => ["/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-input/springboot.log"]
start_position => "end"
sincedb_path => "/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-input/sincedb.db"
mode => "tail"
type => "springboot"
}
}
# 过滤数据
filter {
}
# 输出
output {
# 如果type的值是redis则使用 rubydebug 输出。 type的值是在 input阶段制定的。
if [type] == 'redis' {
stdout {
codec => rubydebug {
}
}
}
if [type] == 'springboot' {
stdout {
codec => line {
charset => "UTF-8"
}
}
}
}
3、Input 中 file 插件的部分参数解释:
path:指定了从那个地方读取文件,使用的是glob匹配语法。
["/var/log/*.log"] 表示匹配的是 /var/log 目录下所有的以 .log 结尾的文件。
["/var/log/**/*.log"] 表示匹配的是 /var/log 目录下、以及它下方的子目录下所有的以 .log 结尾的文件。
["/var/log/{redis,springboot}/*.log"] 表示匹配的是 /var/log 目录下方 redis或springboot目录下方所有的以 .log 结尾的文件。
exclue: 表示需要排除的文件。start_position:表示从那个地方开始读取文件- beginning 表示从文件开头读取。
- end 表示从文件结尾读取。
sincedb_path: sincedb数据库文件的位置,必须是一个文件,不可是目录。sincedb 这个记录了当前读取文件的inode、读取到文件字节的position位置、读取的是那个文件、文件最后修改的时候戳。

sincedb_path => /dev/null开发时为了每次都能从文件的开头读取,设置成 /dev/null 可能会报如下错误。Error: Permission denied - Permission denied
Exception: Errno::EACCES Stack: org/jruby/RubyFile.java:1267:in `utime'
解决方案:将
sincedb_path的路径设置成一个具体的文件。
stat_interval: 定时监测文件是否有更新,单位是秒或者string_duration格式。discover_interval: 每隔多少时间监测是否有新的文件产生,单位是秒。mode:读取文件的模式,为tail或read,默认是tail。- 当是
read时,默认读取完这个文件后会删除这个文件。
- 当是
sincedb_write_interval: 多久将文件的position位置写入到sincedb文件中。
4、启动logstash
bin/logstash -f logstash/pipeline.conf/multi-input/multi-input.conf
5、测试

三、参考链接
2、sincedb_path 设置成 /dev/null 可能报的一个错
使用logstash的input file filter收集日志文件的更多相关文章
- 第八章·Logstash深入-通过TCP/UDP收集日志
1.收集TCP/UDP日志 通过logstash的tcp/udp插件收集日志,通常用于在向elasticsearch日志补录丢失的部分日志,可以将丢失的日志通过一个TCP端口直接写入到elastics ...
- 如何用一张图片代替 'input:file' 上传本地文件??
今天去面试,碰到了一道题,也许是因为紧张或者喝水喝多了,一时竟然没有转过弯来,回来之后一细想原来这么简单,哭笑不得,特此记录一下! 原题是这样的: 如何用一张图片代替 'input:file' 上传 ...
- ie8及其以下版本兼容性问题之input file隐藏上传文件
文件上传时,默认的file标签很难看,而且每个浏览器下都有很大差距.因此我们基本都把真正的file标签给隐藏,然后创建一个标签来替代它.但是由于IE出于安全方面的考虑上传文件时必须点击file的浏览按 ...
- 将input file的选择的文件清空的两种解决方案
<input type="file" id="fileupload" name="file" /> 上传文件时,选择了文件后想清 ...
- input file禁用手机本地文件选择,只允许拍照上传图片
<input type="file" accept="image/*" capture="camera"> 会有个问题,上传的图 ...
- html input file accept 上传文件类型限制格式 MIME 类型列表
例: <input type="file" accept="application/vnd.openxmlformats-officedocument.spread ...
- input file 上传 判断文件类型、路径是否为空
<html> <body bgcolor="white"> <TABLE cellSpacing=0 cellPadding=0 width=&quo ...
- [转]将input file的选择的文件清空
本文转自:http://hi.baidu.com/xiongshihu/item/125c79b47632e794194697f5 上传文件时,选择了文件后想清空文件路径的两种办法: JS代码 < ...
- input file限制上传文件类型
http://www.cnblogs.com/haocool/p/3431181.html http://www.haorooms.com/post/input_file_leixing http:/ ...
随机推荐
- 常量&&变量
一.常量:程序运行期间不变 常量使用: 二.八大基本数据类型变量: 其中,一个Byte类型数据占八个bit位,所以范围是(-2^7 ~ 2^7-1),数据最小的存储单位,是四分之一的int类型空间,所 ...
- 尚硅谷Java基础学习笔记
综述: Java学习图谱: 常见dos命令: 操作案例: Java语言的特点: 面向对象 两个基本概念:类.对象 三个基本特性:封装.继承.多态 健壮性.可继承性 write once,run any ...
- expression动态构成
http://blog.csdn.net/tastelife/article/details/7340205 http://blog.csdn.net/tastelife/article/detail ...
- tcpdump使用手册
tcp使用手册 格式: tcpdump [选项] [过滤条件] 选项: -i eth0 #网卡接口 -A #以ASCII码格式阅读 -w file #下载抓取的数据包 -r file #上传数据包 - ...
- 求 10000 以内 n 的阶乘
求 10000以内 n 的阶乘. 输入格式 只有一行输入,整数 n(0≤n≤10000) 输出格式 一行,即 n!的值. 输出时每行末尾的多余空格,不影响答案正确性 样例输入 100 样例输出 933 ...
- mybatis零碎
< < 小于号 > > 大于号 & & 和 ' ' 单 ...
- C# 将PPT转为OFD/DPT/DPS/ODP/POTX/UOP
本文分享在C#代码程序中,如何将PPT幻灯片文档转换为多种文件格式,如:OFD.DPT.DPS.ODP.POTX.UOP等.只需在加载PPT幻灯片源文档后,调用ppt.SaveToFile(strin ...
- Linux系列(11) - PATH环境变量
前言 在Liunx当中要想执行"执行脚本"."执行文件"或者"执行命令",需要用绝对路径:因此环境变量就出来了,将路径放到环境变量中,环境变 ...
- SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践
一. 前言 日志对于一个程序的重要程度不用过多的言语修饰,本篇将以实战的方式讲述开源微服务全栈项目 有来商城 是如何整合当下主流日志解决方案 ELK +Filebeat . 话不多说,先看实现的效果图 ...
- 深入浅出WPF-12.绘图与动画
绘图 1)Brush(画刷) SolidColorBrush实心画刷,直接使用颜色赋值 LinearGradientBrush线性渐变画刷,色彩沿设定的直线方向.按设定的变化点进行渐变 RadialG ...