logstash 入门
1.logstash的安装与部署
(1)下载地址:www.elastic.co/cn/download…
(2)安装问题:
配置Pipelines
- pipeline.id: my_pipeline_name
- path.config: "/path/to/your/config/file.cfg"
- queue.type: memory
2.logstash的架构
Pipeline数据采集管道
"event" 是指被处理的日志数据单元。包含:时间戳、消息内容、来源信息、标签
2.1数据采集Input插件
Stdin:控制台输入
2.2数据输出output插件
将Event推送到指定应用上
2.3数据解析Codec插件
Linie/Multiline:一行/多行数据转换
2.4数据处理Filter插件
对Event操作:添加/修改/删除,解析,数据转化
-
- Date:日期解析
- Dissect:分隔符解析
-
- Grok:正则匹配解析
- Mutate:处理字段。重命名,删除,替换[Convert,Gsub,Split,join,Merge,Rename,Update,Repalce]
- Ruby:利用代码。动态修改Event
2.5 logstash执行过程
3.Logstash简单应用
(1)控制台单行数据读取
logstash -e "input{stdin{codec=>line}}output{stdout{codec=>rubydebug}}"
logstash -e "input{stdin{codec=>line}}output{stdout{codec=>dots}}" 注意:大小写Dots,dots通常用于查看处理进度
停止控制台输入:Ctrl + C 组合键
设置config文件编码:UTF-8无bom
logstash -f ./config/xxx.conf -t
修改文件编码格式UTF-8(文件另存为utf-8一般是有bom的文件)
(2)logstash -e "input{stdin{codec=>json}}output{stdout{codec=>rubydebug}}"
(3)控制台多行输入:multiline stdin{ codec=>multiline{ pattern => "^\s" #以字符开头的文本行 what => "previous" #前一个事件生效 [previous/next]] }
(4)文件读取(日志)
问题:
- 文件只被读取一次
- 重启后,从上次位置读取(sinceDB实现)
- 读取文件新内容
- 文档位置变化,不影响读取