这几天学习了logstash写配置文件conf解析包含部分json数据格式的日志数据,并在elasticsearch以及kibana进行直观的数据浏览。对于logstash有了更加深入的了解,logstash在运维方面是开源的日志收集框架,其中包含了许多插件,下载的时候就包含在其中了,比较常用的有输入插件,输出插件,codec编码插件,filter过滤器插件,输出插件等等,甚至还有许多美未能进入官方的插件就不再一一赘述了。
我这几天主要接触了grok,json格式插件,还有一些input,output一些配置参数的熟悉等等。待处理的日志数据有两部分组成:一部分是原本工程师添加的时间戳、ip、出错类型,另一部分是较为复杂包含嵌套,list等等的json数据,es api上面有关于嵌套类型的解决办法,比如重改mapping,将对应字段的type设置为"nested",我也是在这个博客上学习的:
对了,es是基于lucene框架的,本身是会嵌套数据平坦化的,没办法改,只能改索引,将nested作为一个新的隐藏索引。
1.至于如何内部直接解析json(比如json数据中的嵌套,数据list,将这些内容单独出来作为字段),这些我还没找到太好的办法,估计只能在代码段(开发阶段进行数据分析吧),我目前还是没找到太好的办法。
2.这几天我又遇到json解析,好气,非得改json内部数据的格式,将string=>float,只能硬上正则了,还好json格式固定,不太长。
正则将其内部数据作为单独的字段显示出来,就能mutate随意操纵了,嘿嘿
数据:
2016-12-05 15:19:52 [ http-nio-1560-exec-