2018-07-20 ELK资料汇总

2018-07-24 11:58:49 浏览数 (1)

ELK介绍

ELK是Elasticsearch,Logstash,Kibana的缩写,是我们在处理日志时最常用到的方案。其中Logstash负责日志采集, Elasticsearch负责日志存储,Kibana负责日志展示。三款开源项目分工合作,提供了完整的解决方案。 此外也有使用Fluentd替换Logstash组成的EFK方案,同样也非常受欢迎。

针对不同的环境,已经有大量的文档详细介绍了安装和配置的方法。在Kubernetes环境中,管理员甚至可以使用一键部署脚本完成安装。 这些总结下来的经验极大的降低了ELK的上手门槛,运维人员可以很方便的开始将所有服务器产出日志统一的搜集起来。

但在使用了一段时间之后,随着数据量的增加以及集群规模的扩大,维护一套高效运转的ELK系统所需要付出的运维成本在逐渐增大。 管理员将面临以下几个挑战:

  • 多种不同应用的日志格式不同,需要为不同的应用配置专门的日志解析器
  • 在所有服务器上更新组件版本以及配置带来的运维工作量的增加
  • 单机版本的Elasticsearch的性能跟不上日志产出的速度,需要集群化部署ES
  • ES集群的搭建和管理过程中的复杂度对运维人员的能力要求较高。过度依赖脚本和教程的工程师可能无法顺利完成
  • ES消耗的IO,CPU,内存资源均较高。为了能够提供足够的日志处理能力,ELK所需要的计算资源投入对于小型团队来说是不小的负担
  • ELK方案中缺少日志归档,持久保存的功能。而ES的存储能力受集群规模的限制无法无限扩张。管理员需要面临删除老数据或是研发数据导出存档功能的选择

在Kubernetes环境中,使用k8s所提供的调度功能和ConfigMap所提倡的配置管理最佳实践,再配合上elasticsearch-operator这样的工具, 可以大大降低日常的运维负担,但在算力消耗以及成本增加的问题上,能够带来的改善有限。

对于小型项目,我们需要更加轻量更加经济的解决方案,将日志管理SaaS化,交给合适的供应商来提供,用户按需付费可能是更适合的解决方案。

https://jishu.io/kubernetes/goodbye-elk-hello-fluent-bit-aliyun/

相关资料

环境搭建 https://blog.csdn.net/f59130/article/details/74014514

ELK 指南|小土刀 https://wdxtub.com/2016/07/26/elk-guide/

ELKstack 中文指南(图书) https://elkguide.elasticsearch.cn/

ELK 手册(gitbook)不全 https://anbc.gitbooks.io/elk-handbook/content/

https://www.ibm.com/developerworks/community/blogs/132cfa78-44b0-4376-85d0-d3096cd30d3f/search?lang=en&t=entry&f=all&q=ELK

0 人点赞