ELK简介

日常运维工作中,对系统和业务日志的处理尤为重要
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因, 经常分析日志可以了解服务器的负荷, 性能安全性, 从而及时采取措施纠正错误
   
通常, 日志被分散的储存在不同的设备上, 如果你管理数十上百台服务器, 你还在使用依次登录每台机器的传统方法查阅日志,这样繁琐且效率低下. 当务之急是使用集中化的日志管理, 例如:开源的rsyslog, 将所有服务器上的日志收集汇总
 
集中化管理日志后, 日志的统计和检索又成为一件比较麻烦的事情, 一般使用grep、awk和wc等Linux命令能实现检索和统计, 但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心
 
一个完整的集中式日志系统, 需要包含以下几个主要特点:
    • 收集-能够采集多种来源的日志数据
    • 传输-能够稳定的把日志数据传输到中央系统
    • 存储-如何存储日志数据
    • 分析-可以支持 UI 分析
    • 警告-能够提供错误报告, 监控机制
 
ELK能够完美的解决上述问题
ELK提供了一整套解决方案, 并且都是开源软件, 之间互相配合使用, 完美衔接, 高效的满足了很多场合的应用,是目前主流的日志系统
ELK由ElasticSearch、Logstash和Kibana三个开源工具组成:
1)ElasticSearch是一个基于Lucene的开源分布式搜索服务器
    特点:分布式, 零配置, 自动发现, 索引自动分片, 索引副本机制, restful风格接口, 多数据源,  自动搜索负载等
    它提供了一个分布式多用户能力的全文搜索引擎, 基于RESTful  web接口Elasticsearch是用Java开发的, 并作为Apache许可条款下的开放源码发布, 是第二流行的企业搜索引擎
    设计用于云计算中, 能够达到实时搜索, 稳定, 可靠, 快速, 安装使用方便
    在elasticsearch中, 所有节点的数据是均等的
 
2)Logstash是一个完全开源工具, 可以对你的日志进行收集、过滤、分析, 并将其存储供以后使用(如, 搜索), logstash带有一个web界面, 搜索和展示所有日志
    一般工作方式为c/s架构, client端安装在需要收集日志的主机上, server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去
 
3)Kibana 是一个基于浏览器页面的Elasticsearch前端展示工具, 也是一个开源和免费的工具, Kibana可以为 Logstash 和 ElasticSearch 提供日志分析友好的 Web 界面, 可以帮你汇总、分析和搜索重要数据日志
 
新增了一个FileBeat, 它是一个轻量级的日志收集处理工具(Agent), Filebeat占用资源少, 适合于在各个服务器上搜集日志后传输给Logstash, 官方也推荐此工具
 
ELK 原理分析:
应用程序(AppServer)→ Logstash → ElasticSearch → Kibana → 浏览器(Browser)
 
posted @ 2020-10-20 22:04  梦里花落知多少sl  阅读(127)  评论(0编辑  收藏  举报