|NO.Z.00080|——————————|LinuxNetwork|——|Linux&ELK日志分析&.V01|
一、为什么用到ELK
### --- 为什么用到ELK
~~~ 一般我们需要进行日志分析场景:直接在日志文件中grep/aw就可以获得自己想要的信息,
~~~ 但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档,
~~~ 文本搜索太慢怎么办,如何多维度查询,需要集中化的日志管理,
~~~ 所有服务器上的日志收集汇总,常见解决思路是建立集中式日志收集系统,
~~~ 将所有节点上的子让孩子统一收集,管理,访问。
~~~ 一般大型系统是一个#分布式部署的架构,
~~~ 不同的服务模块部署在不同的服务器上,问题出现时大部分情况下要根据问题暴露的关键信息,
~~~ 定位到具体的服务器和服务模块,构建一套集中式日志系统,可以提高定位问题的效率。
### --- 一个完整的集中式日志系统,需要包括以下几个主要特点:
~~~ 收集——能够采集多种来源的日志数据
~~~ 传输——能够采集多种来源的日志数据
~~~ 存储——如何存储日志数据
~~~ 分析——可以支持UI分析
~~~ 警告——能够提供错误报告,监控机制ELK提供了一整套解决方案,并且都是开源软件,
~~~ 之间互相配合使用,完美衔接,高效的满足了很多场合的应用,目前主流的一种日志系统。
### --- ELK简介
~~~ #ELK是三个开源软件的缩写:
~~~ 分别表示:Elasticsearch/Logstash/Kibana它们都是开源软件,新增了一个FileBeat,
~~~ 它是一个轻量级的日志收集处理工具(Agent)Filebeat占用资源少,
~~~ 适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具
~~~ Elashticsearch是开源分布式搜索引擎,提供搜索/分析/存储数据三大功能,
~~~ #它的特点是:
~~~ 分布式/零配置/自动发现/索引自动分片/索引副本机制/restful分格接口/多数资源/自动搜索负载等。
~~~ Logstash主要是用来日志的搜集/分析/过滤日志的工具,支持大量的数据获取方式.
~~~ 一般工作方式为C/S架构,client端安装在需要手机日志的主机上,
~~~ server端负责将收到的各节点日志进行过滤/修改等操作在一并发网elasticsearch上去
~~~ Kibana也是一个开源和免费的工具,
~~~ Kibana可以为Logstash和ElashticSearch提供的日志分析友好的web界面,
~~~ 可以帮助汇总,分析和搜索重要数据日志
~~~ Filebeat隶属于Beats,目前Beats包含四种工具
~~~ Pachetbeat(搜集网络流量数据)
~~~ Topbeat(搜集系统,进程和文件系统界别CPU和内存使用情况等数据)
~~~ Filebeat(搜集文件数据)
~~~ Winlogbeat(搜集Windows事件日志数据)

二、试验部署

### --- 实验部署
~~~ 本次部署的是filebeats(客户端),
~~~ logstash+elasticsearch+kibana(服务端)组成的架构
~~~ 业务请求到达nginx-server机器上的nginx;
~~~ nginx的响应请求,并在access.log文件中增加访问记录,
~~~ FileBeat搜集新增的日志,
~~~ #通过LogStash的5044端口上传日志:
~~~ LogStash将日志信息通过本机的9200端口传入到ElasticSerach;
~~~ 搜集日志的用户通过浏览器访问Kibana,服务器端口是5601;
~~~ Kibana通过9200端口访问ElasticSerach;
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv007-network
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通