Nginx日志统一收集
场景描述: 对于线上大流量服务或者需要上报日志的nginx服务,每天会产生大量的日志,这些日志非常有价值。可用于计数上报、用户行为分析、接 口质量、性能监控等需求。但传统nginx记录日志的方式数据会散落在各自nginx上,而且大流量日志本身对磁盘也是一种冲击。 我们需要把这部分nginx日志统一收集汇总起来,收集过程和结果需要满足如下需求: 1)支持不同业务获取数据,如监控业务,数据分析统计业务,推荐业务等。 2)数据实时性 3)高性能保证
方案描述: 1)线上请求进入Nginx后,使用lua完成日志整理:如统一日志格式,过滤无效请求,分组等。 2)根据不同的业务的Nginx日志,划分不同的topic 3) Lua实现producer异步发送到kafka集群 5)对不同的日志感兴趣的业务组实时消费获取日志数据。 相关技术: openresty kafka lua-resty=-kafka