- 专栏信息
- 主要内容
- 一、什么是日志管理?
- 二、如何快速发现和定位问题?
- 三、大厂的日志管理系统的架构是什么样子?
- 四、怎样搭建一套日志管理系统?
- 五、其他摘抄
- 总结
专栏信息
-
专栏作者:宝玉
-
专栏发布平台:极客时间
主要内容
如何借助监控和日志分析工具,或者说日志管理工具,第一时间发现线上问题,以及快速定位产品问题。
一、什么是日志管理?
日志就是操作系统和应用软件自动生成的事件说明或者消息记录,包含了时间、日志信息。
日志管理就是指对系统和应用程序产生的日志进行处理的方法,包括对日志进行统一收集,对日志数据进行筛选和解析,统一存储,还要让它们可以方便被检索。
二、如何快速发现和定位问题?
为什么说搭建了日志管理系统,就可以帮助快速发现和定位问题呢?
-
首先,日志集中式管理后,就可以方便地对所有日志进行统一的检索。
-
然后,对日志进行集中式管理后,可以通过图表直观的看到应用运行情况。
-
最后,可以根据日志的数值设置规则自动报警。
当你搭建好一整套日志管理系统后,不仅可以帮助你快速地对日志进行检索,你也可以根据图表看数据走势,还可以通过对日志分析结果的监控,设置自动报警的规则,第一时间了解系统故障。
三、大厂的日志管理系统的架构是什么样子?
像阿里、新浪这样的大厂来说,对日志管理系统的应用已经是标配了。
很多大厂是基于 ELK 搭建的自己的日志管理系统,而 ELK 的架构也是一套经典的日志管理的架构。
ELK 是 Elasticsearch+Logstash+Kibana 的缩写。
基于 ELK 搭建的日志管理系统基本架构是这样的:
这套架构有几个重要的模块:
-
日志采集和解析
要想对日志进行统一管理,就必须要从各个应用系统收集日志。Logstash 就可以帮助实现对日志的采集。
-
存储和搜索
ElasticSearch 就是一套专业的全文检索和数据存储系统,同时还有一套类似于 SQL 的查询语句,这样你就可以基于它,方便对收集好的日志数据进行检索了。
-
结果可视化
Kibana 就是一套专门针对 ElasticSearch 的图形化操作工具,可以方便对 ElasticSearch 数据进行检索,也可以对结果用图表的方式展现。
-
监控和报警
ELK 可以通过插件的方式,安装像 ElastAlert 或Watcher这样的自动报警插件,实现自动报警功能。
四、怎样搭建一套日志管理系统?
你可以基于这套架构去寻找合适的工具,或者直接基于 ELK 去搭建一套日志管理系统。
ELK 本身是一套开源免费的工具,除了 ELK,还有一些类似的工具可以选择,可以和 ELK 配合使用。
- Splunk
- Grafana
- Wavefront
- PagerDuty
以上就是一些常用日志管理系统以及配套系统工具。
五、其他摘抄
- 在日志数量不多的时候,凭借肉眼或者借助文本编辑器,还能大概看出日志的内容,但是当日志数量一多,从日志里面查找需要的信息就变得很困难了。
- 当然你不需要自己去从头实现这样的日志管理系统,现在已经有很多成熟的日志管理工具可以帮助你对日志进行管理。
- 当所有的应用实时将日志传输到一起,日志管理系统就可以根据应用日志中记录的信息,动态地生成图表,实时看到应用运行的情况。
总结
借助日志管理工具,可以帮助你快速发现和定位产品问题。



