一、为什么需要日志分析系统
通常我们的系统在运行期间,会输出各种日志,以便于我们定位问题、探查系统运行时状态等等。
当我们需要查看日志时,传统方式是登录到目标服务器上,通过 Linux相关的工具命令,查看日志文件内容。当然对于小型系统(几台服务器以内的)的偶尔查询,姑且可以忍受,如果规模再大点,或频繁需要检索日志,那酸爽无以言表......
另外,传统的日志查找方式弊端也非常明显,比如:
-
如果后端是服务集群,那么经过负载均衡,日志落在哪个节点上就是不确定的,一个一个节点去找,那就太低效了
-
当需要根据某些关键词把相关的日志聚合起来查阅,常规方式就很麻烦
-
微服务流行后,对服务调用的链路追踪和分析更是离不开日志系统
等等
因此我们需要一个日志分析解决方案。
二、简介 ELK 日志分析系统
日志分析系统主要解决以下几个问题:
-
日志的收集
-
日志的存储
-
日志的分析
不同公司或团队对于日志分析解决方案各不相同,有技术实力的大厂一般自研,本文介绍的 ELK是著名的社区解决方案。
ELK 官网(https://www.elastic.co/what-is/elk-stack)
具体理论性知识,可自行查阅,下面开始实操搭建。
三、快速搭建 ELK 日志分析系统
前提条件:先准备好docker 环境(不再赘述)
Step 1: 下载docker镜像
docker pull elasticsearch:7.8.1
docker pull kibana:7.8.1
docker pull logs