ELK日志平台原理

  1. 做为运维工程师,咱们天天须要对服务器进行故障排除,那么最早能帮助咱们定位问题的就是查看服务器日志,经过日志能够快速的定位问题。目前咱们说的日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员能够经过日志了解服务器软硬件信息、检查配置过程当中的错误及错误发生的缘由。常常须要分析日志能够了解服务器的负荷,性能,安全性,从而及时采起措施纠正错误。并且日志被分散的储存不一样的设备上。前端

  2. 若是你管理数上百台服务器,咱们登陆到每台机器的传统方法查阅日志。这样是否是感受很繁琐和效率低下。当务之急咱们使用集中化的日志管理,例如:开源的syslog,将全部服务器上的日志收集汇总。node

  3. 集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,通常咱们使用find、grep、awk和wc等Linux命令能实现检索和统计,可是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法不免有点力不从心。今天给你们分享的开源实时日志分析ELK平台可以完美的解决咱们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。redis

1)  Elasticsearch是个开源分布式搜索引擎,它的特色有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等,ELK官网:https://www.elastic.co/安全

2)  Logstash是一个彻底开源的工具,他能够对你的日志进行收集、过滤,并将其存储供之后使用(如,搜索)。服务器

3)  Kibana 也是一个开源和免费的工具,它Kibana能够为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,能够帮助您汇总、分析和搜索重要数据日志。restful

4)  Logstash和Elasticsearch是用Java语言编写,而Kibana使用node.js框架,在配置ELK环境要保证系统有JAVA JDK开发库。框架

 

                                       ELK原理拓扑图运维

u=1919962091,1509935081&fm=15&gp=0.jpg

1)  ELK工做流程分布式

经过logstash收集客户端APP的日志数据,将全部的日志过滤出来,存入Elasticsearch 搜索引擎里,而后经过Kibana GUI在WEB前端展现给用户,用户须要能够进行查看指定的日志内容。ide

同时也能够加入redis通讯队列:

图一;

1.jpg

图二;

2.png


  2)  加入Redis队列后工做流程

Logstash包含Index和Agent(shipper) ,Agent负责客户端监控和过滤日志,而Index负责收集日志并将日志交给ElasticSearch,ElasticSearch将日志存储本地,创建索引、提供搜索,kibana能够从ES集群中获取想要的日志信息。

相关文章
相关标签/搜索