最近公司通过阿里云的业务实时监控服务 ARMS成功搭建了基于tengine的日志监控系统。这里简单分享一下使用[font="]ARMS用于监控[font="]tengine日志的经验。[font="]
公司发展至今,现阶段所有接口都使用阿里的tengine作为web容器,类似nginx,在日志中也记录了包括host,url, ip, 包体大小,响应时长等信息。目前的业务需求场景是希望有一套系统来监控接口的异常,来及时发现系统的异常,并能具体到哪些项目、哪些服务器、甚至哪些URL出现异常,提高分析问题和解决问题的速度。
tengine日志分布到不同服务器上,首先使用日志服务来分别收集这些日志。再以logHub作为日志源,来进行监控。想到使用ARMS的其中一个最重要原因是因为我们系统tengine的日志格式有一定的定制,需要有一个端到端监控产品提供的定制化特别强的数据清洗功能,以及聚合计算+报警功能。
这里详细介绍一下ARMS吊炸天的日志切分功能。
第一步,一个开始节点;
第二步,LogHub数据源过来默认是JSON格式,进行JSON解析,如下图:
注意日期类型的时间格式,尤其是“小时”部分,默认格式是hh(12小时),需要改为HH(24小时)。