广州网站建设哪家便宜,wordpress代码分析,wordpress 说说插件,学电商比较好的网站有哪些收集日志
日志管理的第一件事#xff0c;就是日志的收集。日志收集是开发者必备的技巧#xff0c;不管是哪个开发语言#xff0c;哪个开发平台#xff0c;日志收集的插件都是有很多选择的。
例如#xff1a;.net 平台大家钟爱的log4net,支持多种存储方式#xff08;文件…收集日志
日志管理的第一件事就是日志的收集。日志收集是开发者必备的技巧不管是哪个开发语言哪个开发平台日志收集的插件都是有很多选择的。
例如.net 平台大家钟爱的log4net,支持多种存储方式文件、数据库多种格式多种日志拆分方式。
java 平台主流的log4j、slf4j、logback多种选择。日
志收集的组件这里就不一一说明了使用都是很简单的这里重点说明一下日志我们收集应该注意的地方
作者IT米粉 链接https://www.zhihu.com/question/22761013/answer/227784041 来源知乎 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。
1. 日志等级一定要规范
等级说明
debug调试信息 info用来收集关注的信息 warn警告信息 error错误信息
好多开发工程师记录日志总是喜欢用info级别来记录日志一般的组件默认级别都是info,所有info默认都是会被记录的而debug信息发布后是不会被记录的。
这是一种偷懒的做法但这也是很普遍的做法。
正确的方式应该根据日志本身的特性去设置日志的级别其实规范的日志级别是非常重要的正确的级别便于运维。便于统一调整系统日志级别如特殊情况可以只记录error错误没有正确的级别对后期日志分析和处理是留下很大的隐患。error是需要去关注并且处理掉的问题。info是普通日志的记录大部分时候是无需关注的。
2. error日志内容一定要详实
info日志要简洁易懂运营过大型系统的人都知道除了数据库存储外日志、图片、附件是存储的三大债主他们是会占用非常非常大的空间所有记录info的日志要简洁易懂避免空间浪费。 而对于error级别的错误记录一定要详实因为error的所有问题是后期都要去解决的。请求的地址请求的参数请求的ip请求的用户error具体信息输出的内容……为了能很好的反馈当时error产生场景以上的这些内容都应该被记录而且越详细越好。
3. error日志一定是全局统一收集的
前文说过error的日志不仅是我们需要关注的还是我需要解决掉的问题所有error日志非常重要。错误日志的收集必须是全局统一收集的AOP是你最好的伙伴如果你发现你的errorr日志收集是在每个类中到处是
try
{
//......
} catch()
{log.error(......)
}这个一定要避免不管你用那种语言错误的处理都是可以通过全局进行统一的处理错误日志也要通过全局统一收集。
管理日志每个开发人员对日志的收集都是非常熟悉的基本都是将日志按照日期的方式进行保存
日常使用
日常使用日志的时候也是有一些要求
1. 单个文件的大小要控制
因为大家都是通过日期方式保存的但是因为有的人不重视日志经常会看到有的系统单个日志文件上百M有的甚至是几G而实际大家处理问题关注的都是最近的日志所以控制单个日志文件的大小对日志的性能以及后期的运维都是非常便利的。
2. 日志要便于浏览
日志文件小才便于浏览日志最好能通过网址直接访问到而不需要一波三折登录服务器花10分钟下载下来再来分析。
3. 日志的安全性要得到保障
日志内容有时会包含敏感信息特别是error日志直接把系统的具体错误抛出来所以日志除了查看方便还需要确保日志文件的安全。如果是日志文件是html或者txt请一定记得把你的日志文件权限修改下特定用户才能访问不要随便开放所有人都能访问。
4. 日志要定期清理
日志是非常占用存储的空间日志太大对存储的性能也有一定的影响所有日志要定期进行清理。空间充足可以保留半年空间不足最少也要保留3个月当然这个也不是一定的根据每个系统的情况去制定清理计划就可以了。如果大家是小型网站一个系统一台服务器日志管理就简单了。
如果系统是做了高可用后端用了均衡负载那么日志存在当前服务器是不太明智的做法日志一定要统一存储因为均衡负载随时都可能会切换服务器当出现故障你需要去找日志究竟存在哪个服务器也是件很浪费时间的事情。
日志文件也可以通过共享虚拟目录来存储定时进行文件同步来存储日志存储也是对性能有一定影响的文件同步虽然看起来麻烦一定但是比共享虚拟目录的方式来说性能会好推荐使用这种方式。说到日志的同步就不得不提Logstash这个日志组件。
Logstash是现在应用最广的日志收集组件基于java平台。其实很多java平台的组件是不用去了解java开发的只要简单的配置就能使用。Logstash支持文件同步也可以结合rsyslog进行文件同步当然也支持通过tcp协议与第三方对接好伙伴当然是Elasticsearch。
Elasticsearch下文也会做简单的介绍。
分析日志
日志的分析也是一个很大的概念可能对于运维和安全人员关注的是系统的所有日志包括访问日志、系统监测的日志等但是开发人员对于日志更多的是监控系统运行错误并获取错误时的相关数据包记录重要的信息某些时候便于后期检查所以开发人员对日志的需求相对而言简单一点但是处理不当也会面临挑战。
如果要根据某些关键字找日志没有一个靠谱的系统处理那么大家只能一直在ctrlf 或者 find 命令中来回查找自己需要的信息使用过的人都知道这绝对不是一个很好的体验。那么是否有很好的工具来处理呢
有这里就介绍另外的两个工具Elasticsearch——一个基于lucene的搜索引擎工具解决日志的搜索问题。
当然也能解决系统的搜索问题而且是分布式的哦。
Kibana——一个可视化的日志操作引擎结合Elasticsearch可以达到更好的效果。