前言
- 日志分析是运维工程师解决系统故障,发现问题的主要手段。日志主要包括系统日志应用程序日志和安全日志
- 系统运维和开发人员可以通过日志了解服务器软硬件信息检查配过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误
- 通常,日志被分散的储存在不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志,既繁琐又效率低下。为此,我们可以使用集中化的日志管理,例如:开源的 syslog,将所有服务器上的日志收集汇总
- 集中化管理日志后,日志的统计和检承又成为一件比较麻烦的事情,一般我们使用 grep、awk 和 wc 等 Linux 命令能实现检索和统计,但是对于更高要求的查询、排序和统计等,再加上庞大的机器数量,使用这样的方法依然难免有点力不从心
- 开源实时日志分析 ELK 平台能够完美的解决我们上述的问题,ELK 由 ElasticSearch、Logstash 和 Kiabana 这三个开源工具组成、
一、ELK 日志分析系统简介
1.日志服务器
- 提高安全性:仅是基于日志来恢复和定位故障,是很困难的
- 集中存放日志,即集中化管理
- 缺陷:对日志的分析困难,因为集中化管理,所以信息量更加巨大
2.ELK 日志分析系统
- Elasticsearch(ES 数据库):
- 最重要的两个功能在于索引与存储
- 百度、Github 的引擎是使用的 ES 索引数据库(主流)
- Logstash:
- 收集日志
- 转存至 ES
- Kibana:
- 是一个展示界面
- 数据源来自 ES
3.日志处理步骤
- AppServer 是一个类似于 Nginx、Apache 的集群,其日志信息由 Logstash 来收集
- 往往为了减少网络问题所带来的瓶颈,会把 Logstash 服务放入前者的集群内,减少网络的消耗
- Logstash 把收集到的日志数据格式化后输出转存至 ES 数据库内(这是一个将日志进行集中化管理的过程)
- 随后,Kibana 对 ES 数据库内格式化后日志数据信息进行索引和存储
- 最后,Kibana 把其展示给客户端
3.日志处理步骤
-
AppServer 是一个类似于 Nginx、Apache 的集群,其日志信息由 Logstash 来收集
-
往往为了减少网络问题所带来的