采集vm虚拟机上的Log日志文本,如果需要经过特殊的加工处理,在本文主要讲述如何在SLS把kafka采集上来的数据经导入并加工后存储。
{"config.vpc.instance_port.v3":"9092","config.vpc.instance_port.v2":"9092","config.vpc.vpc_id.v1":"vpc-bp102du3yi8x2100kdsxp","config.vpc.instance_ip.v3":"10.xx.xx.155","config.vpc.instance_ip.v2":"10.xx.xx.154","config.vpc.instance_ip.v1":"10.xx.xx.153","group.id":"frontlog","config.vpc.vpc_id.v2":"vpc-bp102du3yi8x2100kdsxp","config.vpc.vpc_id.v3":"vpc-bp102du3yi8x2100kdsxp","config.vpc.instance_port.v1":"9092"}
对原始的value字段进行加工,这里使用的是grok语法。
配置了两个解析,第二个解析是在第一个解析的基础上,进行二次进一步解析。
上一步解析出字段http_user_agent,
第二个解析,把http_user_agent进一步解析出字段appName和appVersion
由此可见,加工还是比较方便且灵活的。
如此,kafka采集上来的Log数据,先经过了导入存储到某个索引,后又加工处理存储到另外一个索引。
所以说,一份数据保存了两份,一份是原始数据,另外一份是加工后的数据。
毫无疑问,会加大你的存储成本。
到此,你应该明白,如果不用复杂的加工处理,不建议你使用本文提及的方案。
直接在sls配置Logtail即可。
本方案把采集的步骤拉长不说, 光是存储成本就翻一番。