ELK软件背景及概念介绍
前言
写博客是为了记录自己的学习过程,同时也是将遇到过的问题和解决办法,总结出来分享给大家。如果博客中有任何错误的地方,欢迎大家评论区留言,这也是一个相互学习的过程。
注意:以下内容是关于ELK软件的概念描述,可能阅读起来比较‘’枯燥乏味‘’,希望大家花一点时间看下去。下篇文章,我们就会讲安装部署的详细步骤,拭目以待!!!
一、ELK软件背景及概念介绍
1.ELK软件背景
- 作为一名运维工程师,我们的工作内容之一就是要对服务器故障排除,通过日志可以帮助我们快速定位错误位置。
- 日常工作中,我们所说的日志包括服务器日志、应用服务日志和安全日志。系统运维和开发人员,可以通过日志查看服务器软硬件信息、运行状态、配置文件错误以及发生错误的位置。
2.ELK软件相关概念
- Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等,ELK官网:https://www.elastic.co/;
- Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。工作方式为C/S架构,Client端安装在需要收集日志的主机上,Server端负责将收到的各节点日志进行过滤、修改等操作在一并发往Elasticsearch服务器;
- Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志;
- FileBeat是一个轻量级日志采集器,Filebeat属于Beats家族的6个成员之一,早期的ELK架构中使用Logstash收集、解析日志并且过滤日志,但是Logstash对CPU、内存、IO等资源消耗比较高,相比Logstash,Beats所占系统的CPU和内存几乎可以忽略不计;
- Logstash和Elasticsearch是用Java语言编写,而Kibana使用node.js框架,在配置ELK环境要保证系统有JAVA JDK开发库;
二、ELK架构原理
1.工作原理
-
下图为ELK企业分布式实时日志平台结构图,Logstash收集日志进行过滤,然后将数据传送给elasticsearch:
-
ELK工作流程:
客户端安装logstash日志收集工具,通过logstash收集客户端的日志数据,将日志数据过滤出来,存到elasticsearch搜索引擎。最后,通过Kibana GUI工具WEB界面查看日志内容。
总结
以上就是今天所讲的内容,本文仅简单介绍了ELK软件的背景和相关概念,而ELK日志平台的详细安装步骤见下一篇文章。