配置文件:logstashconfg
问题:如图14号的数据,结果采集到了15号,慢了8小时,希望得到的结果,是凌晨0点索引自动切换
原因: 原来Logstash用的UTC时间, logstash在按每天输出到elasticsearch时,因为时区使用utc,造成每天8:00才创建当天索引,而8:00以前数据则输出到昨天的索引查看一些论坛,不建议更改源码,因为logstash和elasticsearch是按照UTC时间的,kibana却是按照正常你所在的时区显示的
解决:修改logstash配置
logstash在按每天输出到elasticsearch时,因为时区使用utc,造成每天8:00才创建当天索引,而8:00以前数据则输出到昨天的索引
在logstash filter 解决
1 增加一个字段,计算timestamap+8小时
2 用mutate插件先转换为string类型,gsub只处理string类型的数据,在用正则匹配,最终得到想要的日期
3output配置具体业务需要自定制 需求实际变形产者-消费者实现于类需求主要请求实际处理程解耦般都采取异步式通知请求跟用用redis其实没关系般实现需要用户请求封装TaskTask再pushredis队列端workerphp完全进程、线程并发处理Task并处理结调给请求唯麻烦点Task设计需要能够包含请求信息(请求内容请求标识等等)Logstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。
作为ELK中的L,之前采用的是EFK,其中F是Filebeat,比Logstash更加轻量,但是Logstash也有丰富的过滤功能,为此变成Filebeat->Logstash->Elasticsearch->kibana
服务器安装的版本
如果正常启动,日志不会报错,同时可以查看进程是否存活。
在logstash中,包括了三个阶段:
输入input --> 处理filter(不是必须的) --> 输出output
配置启动端口为9600
如下例子为过滤删除指定字段RetryJob
Grok 是 Logstash 最重要的插件。你可以在 grok 里预定义好命名正则表达式,在稍后(grok参数或者其他正则表达式里)引用它。
grok表达式的打印复制格式的完整语法是下面这样的:
grok-patterns内置的正则表达式
那问题来了,写了正则表达式,如何调试呢?
可以在kibana网页中的 dev tools 里 grok Debugger 进行调试
如下例子,在页面中需填写内容:
注意:可以这两种格式, {} 和 => 搭配, [] 和 , 搭配
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)