Sina ELK:从运维到服务的演进与自动化平台建设

需积分: 3 22 下载量 54 浏览量 更新于2024-07-20 收藏 20.56MB PPTX 举报
"sina elk,从运维到服务之路 -凌霄" 本文主要介绍了新浪ELK团队在运维和服务方面的经验分享,由前新浪MySQL DBA、大数据工程师凌霄讲述。ELK是Elasticsearch、Logstash和Kibana的组合,常用于日志管理和数据分析。在2015年的ES国内开发者会议上,凌霄分享了他们的运维实践和架构演进历程。 首先,文章提到了一个拥有50多个节点的ELK集群运维。运维这样一个大规模的集群需要面对诸多挑战,包括架构的设计、性能优化和自动化平台的构建。在架构演进过程中,经历了三个主要阶段: 1. 第一阶段,直接使用FILE作为日志输入,但面临实时性不足和上游日志堆积的问题。 2. 第二阶段,引入Rsyslog,改进了日志推送的实时性,但依然存在存储空间和单点压力问题。 3. 第三阶段,采用Kafka作为日志中间件,极大地提高了吞吐量,实现服务解耦,并利用Kafka的高性能和零拷贝特性来优化系统。 Kafka的引入解决了性能可扩展性和硬盘顺序写速度的问题,同时提供了基于Topic的发布订阅机制。通过这些优化,ELK集群能够更好地支持更丰富的计算模式,进行计算迁移和预分析,以及长时间保存统计结果,以提升并发性能。 在构建自动化与平台化的过程中,团队面临着不断增长的业务需求。他们逐步建立了整体架构,包括日志格式的标准化协商,数据管理系统的完善,以及移动端日志服务的提供。此外,他们还推动了服务的docker化,以提高部署和管理的灵活性。 为了辅助运维工作,团队使用了一些工具,如KOPF用于Elasticsearch集群的可视化管理,Bigdesk用于节点性能监控,Gork Debugger帮助调试Logstash的Grok语法,Cursor用于Elasticsearch索引管理,这些工具大大提升了运维效率。 这个分享展示了新浪如何从最初的ELK运维逐步发展到提供成熟服务的过程,其中包括架构的迭代升级、运维工具的选用和自动化平台的构建,这些经验对于其他从事日志管理和大数据分析的团队具有很高的参考价值。