一种改进的OpenStack云平台日志收集系统
2021-01-30张文燕张浩张进涛
张文燕 张浩 张进涛
(1.南京中兴新软件有限责任公司 江苏省南京市 210012 2.南京中兴软件有限责任公司 江苏省南京市 210012)
在全球数字经济背景下,云计算成为企业数字化转型的必然选择。与此同时,5G 和工业互联网的快速发展,推动云计算向基于云边协同的分布式云发展。分布式技术在为应用系统带来高可用性、高可靠性、资源利用优化的同时,也提高了系统运维和监控的复杂性。通过集中式的日志收集和分析系统,将分散在各处的日志集中处理、智能分析以提高系统监控和故障排查效率。
分散在各地的边缘服务器配置普遍较低,部署于其上的日志收集组件如果选用失当,可能导致整个系统资源被占用太多而无法正常运行。本文将开源的日志收集和分析系统Elastic Stack[1]部署于最小化的开源云平台OpenStack[2]上。其原生的日志收集组件Loqstash[3]对CPU 和内存消耗太多,亟待优化。在保证日志收集和解析功能的前提下,采用Fluentd[4]替换Loqstash,效果显著。
1 Elastic Stack面向OpenStack云平台的架构
Elastic Stack 是由三个开源组件Elasticsearch、Loqstash 和Kibana 构成的一套面向分布式系统的日志收集和分析解决方案。基于0penStack云平台的部署架构如图1所示。
0penStack 是一个开源的云计算管理平台,由Nova、Keystone、Cinder、Neutron、Glance、Ceilometer 等组件共同提供弹性的计算、存储、网络等服务。
Logstash 组件有shipper 和indexer 两种角色:shipper 驻守在各节点上,完成各节点OpenStack日志的收集、过滤和解析,可根据节点数实现横向扩展;indexer 部署于Indexer Cluster 中的三个节点上。其中shipper 采集的数据通过Kafka[5]集群透传给indexer,并汇聚到数据存储集群ElasticSearch Cluster。ElasticSearch 由三节点构成集群,完成数据的存储和对外提供索引功能。……
