线上应用日志有神马用?DEBUG?

应用上线后,日志涨的很快,没有监控的时候,一不留神,用户投诉:应用是不是挂了?服务器一看:#df -h,磁盘空间满了。赶快清理了,# >xxx.log,重启应用好了。

后来加了磁盘空间监控,自动清理脚本,保留30天日志,这种问题就避免了。

#find 。./logs/ -mtime +7 -name "*.log" -exec rm -rf {} \\;

干得久了,做得应用越来越多,日志也越来越多,难道日志只是用来核查bug吗?

其实日志很有用,只是我们的打开方式得调整一下,也就是说我们从一开始就不能随便debug,而要按照某种约定去debug。

线上应用日志有神马用?DEBUG?


在PC时代,网站分析还很流行,像百度统计,google analysis等。只要在自己的网站增加一段js代码,即可统计网站的流量情况,用户点击图,用户来源国家,访问终端等等。起初觉得好神奇,后来发现他们的原理竟然是日志。那段神奇的js收集用户的主机信息,浏览器信息,网页信息,用户操作信息等,按某种格式,悄悄的发送到服务器,记录到应用访问日志中。然后从这些格式化的日志中,统计相关信息,提供给各网站站长。站长根据日志统计信息,可以调整页面布局,内容重点等。这是很重要的一条反馈神经。可惜PC时代过去了,现在已经进入移动互联网时代,用户信息越来越难获取。

每个应用几乎都要用到数据库,而数据库存放是格式化的数据。人们从数据库的日志文件中,mysql的binlog,oracle的redolog,读来做数据库同步,离线统计分析等。尤其是分布式环境下更是这样。分布式环境下,日志系统必须出生时就带着。方便统一监控,方便管理,方便监控。

ELK套件为我们收集日志,清洗日志,展示日志提供了方便的工具,真正的开箱即用。

ELK 不是一款软件,而是 Elasticsearch、Logstash 和 Kibana 三种软件产品的首字母缩写。这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK。


线上应用日志有神马用?DEBUG?


线上应用日志有神马用?DEBUG?


分享到:


相關文章: