基于Lua+Kafka+Heka的Nginx Log实时监控系统
背景 目的 关于错误和超时监控有一点要考虑的是收到告警时,要能够快速知道是哪个后端服务节点出现了问题。 在这之前,我们都是通过随机进入一个Nginx节点tail log才能定位到,效率有些低。 架构 日志采集 这部分结合lua-resty-kafka使用Lua扩展将数据按照一定格式拼接后写入Kafka集群。Nginx+Lua的性能就不用多说了,这样一来完全可以关掉Nginx本身的日志开关,减少磁盘消耗; 消息队列 我们数据分析组的同事在这之前就已经建立Kafka集群,无需再搞一套消息队列服务。另外一个很重要的点是,我们不希望日志数据取完就删掉了,运维组除了要做监控告警之外,数据组也要读取数据做分析。因此,如Redis此类的消息队列就直接被我们pass掉了; 异常监控计算 可以使用Filter做计算,有错误时向Heka消息流中写入告警消息,SMTPOuter匹配到告警消息后通过自定义的Encoder定制好邮件内容后再发送。 可视化 Heka层一方面做异常监控,另一方面使用Message Matcher Syntax匹配异常数据写入到Elasticsearch,再架设一个Kibana。我们在收到告警邮件后,就可以进入Kibana后台查看异常的Log。 不足 关于消息队列的选择,前面已经提到我们已有Kafka集群就直接拿来用了。如果仅仅做异常监控,不需要消息留存,倒可以考虑使用Redis之类轻量些的消息队列,Kafka未免有些重了。 大数据文摘精彩文章: 回复【金融】 看【金融与商业】专栏历史期刊文章 可视化】感受技术与艺术的完美结合 安全】 关于泄密、黑客、攻防的新鲜案例 算法】 既涨知识又有趣的人和事 谷歌】 看其在大数据领域的举措 院士】 看众多院士如何讲大数据 隐私】 看看在大数据时代还有多少隐私 医疗】 查看医疗领域文章6篇 征信】 大数据征信专题四篇 大国】 “大数据国家档案”之美国等12国 体育】 大数据在网球、NBA等应用案例 长按指纹,即可关注“大数据文摘” 专注大数据,每日有分享 覆盖千万读者的WeMedia联盟成员之一 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |