input 插件指定数据输出源 一个 pipeline 能够有多个 input 插件 次要有三 stdin file kafka
最简略的输出 从规范输出读取数据 通用配置为
- codec 类型为 codec
- type 类型为 string 自定义该事件的类型 可用于后续判断
- tags 类型为 array 自定义该事件的 tag 可用于后续判断
- add_field 类型为 hash 为该事件增加字段
input plugin file
从文件读取数据 如日志文件 文件通常要解决几个问题
- 文件内容如何只被读取一次,即重启 ls 是,从上次地位持续读 -sincedb
- 如何读取到文件的新内容 定时查看文件是否更新
- 如何发现新文件并进行读取 定时查看文件
- 文件产生了归档 rotation 操作 是否影响以后的内容读取?不影响 被归档的文件内容能够持续被读取
-
path 类型 为 数据 指定读取的文件门路 基于 glob 匹配语法
- path => [“/var/log/*/.log”]
-
exclude 乐星为数据 排除不想监听的文件规定 基于 glob 匹配语法
- exclude => “*.gz”
- sincedb_path 类型为字符串 记录 sincedb 文件门路
- start_position 类型为字符串 beginning or end 是否从头读取文件
- stat_interval 类型为数值 单位秒 定时查看文件是否更新
- discover_interval 类型为数据 单位秒 定时查看是否有新文件待读取,默认 15 秒
- ignore_older 类型为数据 单位秒 扫描文件列表时 如果该文件上次更改事件超过设定时长,则不做解决,但仍然会监控是否有新内容
- close_older 类型为数值 单位秒 如果监听的文件超过该设定事件内没有新内容 会变为敞开文件句柄 开释资源 但仍然会监控是否有新内容 默认 3600 秒 即一个小时
codec plugin
codec plugin 作用域 input 和 output plugin 负责将数据在原始与 logstash event 之间做转换 常见的有
- plain 读取原始内容
- dots 将内容简化为点进行输入
- rubydebug 将 logstash events 依照 ruby 格局输入 不便调试
- line 解决带有换行符的内容
- json 解决 json 格局内容
- multiline 解决多行数据
codec plugin multiline
- pattern 设置行匹配的正则表达式 能够应用 grok
- what previous|next 如果匹配胜利 那么匹配行是归属上一个事件还是下一个事件
- negate true or false 是否对 pattern 的后果取反
filter plugin
filter 是 ls 功能强大的次要起因 能够对 logstashevent 进行风服的解决 例如 解析数据 删除字段 类型转换等 常见如下
- date 日期解析
- grok 正则匹配解析
- dissect 分隔符解析
- mutate 对字段解决 例如 重命名 删除 替换
- json 依照 json 解析字段内容到指定字段
- geoip 减少地理位置数据
- ruby 利用 ruby 代码动静批改 logstash event
date
-
match 类型为数组 用于指定日期匹配格局 可一次指定多种日期格局
- match => [“logdate”, “MMM dd yyyy HH:mm:ss”,”MMM d yyyy HH:mm:sss”,”ISO8601″]
- target 类型为字符串 用于指定赋值的字段名 默认是 @timestamp
- timezone 类型为字符串 用于指定时区