CERN(欧洲核子研究委员会)借助 Elasticsearch 监测网格
WLCG标识
全球LHC计算网格(WLCG)项目是一个全球协作项目,包括42个国家的170多个计算中心,使用50多万个处理器核心,将国家性和全球性网格基础设施互联起来。它让10000多名物理学家组成的社区可以近乎实时地访问大型强子对撞机(LHC)数据,每天运行的任务平均多达200万个。
使命和背景
WLCG项目的使命是,提供全球计算资源,以便存储、分布和分析每年由横跨法国和瑞士边境的欧洲核子研究委员会(CERN)的大型强子对撞机(LHC)生成的约30拍字节(PB)。要实现这一使命,目前需要300多PB的磁盘和200多PB的磁带。
CERN的WLCG网格监测团队负责提供所需的工具和服务,以便监测和了解复杂的WLCG基础设施。要是缺乏这种了解,就不可能高效地使用这套系统。该团队为此开发了多个应用软件来检索、显示和分析监测数据。不同的应用软件针对目标受众进行了调优:概要视图用于管理层,详细视图用于服务管理员和单个用户,说明性视图用于普通大众。这些应用软件大多基于关系数据库上的Web服务器系统。最近,监测数据数量和复杂性同同增加,需要改用现代化、最先进的技术。
下一章介绍三项监测任务,我们将这些任务用于试点应用,以评估Elasticsearch的效果。它们涵盖WLCG基础设施上计算活动的各个方面:数据访问及分布、数据处理以及服务健康和性能。有专用的仪表板适用于这每一个方面。
WLCG数据收集
WLCG试验收集的数据复制到几个站点。这提升了处理数据的速度,还提供了故障切换机制,万一任何站点暂时无法使用,就能派得上用场。平均而言,每天要传输2500万个文件,平均速度为10 GB/s。WLCG传输仪表板(如图1所示)使用了针对时间、试验、国家和站点的多个过滤器,以便生成表明数据流动情况的详细视图。
LHC检测器收集的原始数据要经过处理。然后,数据供物理学家们用来分析。除此之外,还会生成许多模拟数据,与LHC检测器获得的数据进行比对。所有数据在WLCG基础设施里面分布。任务监测仪表板(Job Monitoring Dashboard)应用软件(如图2所示)密切关注数据处理、分析和模拟的状况。平均而言,每天要处理200多万个任务;在任何一个给定时间,有25万个并发任务分布在170多个站点之间。
CMS任务监测应用软件
最后,每个站点提供不同的服务,这些服务不断加以测试,以便尽快发现任何问题。总共用到1000多个度量指标,以确定服务和站点是否在正常运行。站点状况面板(Site Status Board,如图3所示)存储、显示和汇总所有这些度量指标。这些度量指标有不同的细粒度,从分钟到年不等。比如说,其中一个度量指标表明是否能够每隔60秒将文件写入到存储服务中。另一个不同的度量指标表明了站点向合作项目保证提供的每年存储量。
用于WLCG其中一个试验的站点状况面板(SSB)应用软件
关系数据库→ Elasticsearch
这三个方面的当前应用软件使用试验仪表板框架(Experiment Dashboard Framework)。Web前端部分使用开源JavaScript库,比如jQuery、DataTables和Highcharts,服务器端是在关系数据库上面的Apache和Python。为了应对规模和复杂性不断增加的情形,我们目前在评估Elasticsearch,作为关系数据库的替代技术。
团队已经在生产环境中获得了E lasticsearch方面的经验。尤其是,Messaging服务使用Elasticsearch来监测服务状态。眼下共有20多亿个文档。已经部署了Kibana仪表板;出于安全方面的考虑,仅限于服务经理们使用。信息还馈送到Esper引擎:万一出现问题,该引擎就负责发出警报。
2013年,我们评估Elasticsearch 0.90.0,开始踏上了Elasticsearch之旅。插入和查询时间大有希望。与此同时,缺少多字段分组(multifield grouping)功能防止了全面迁移。
我们继续对Elasticsearch 1.x进行评估,目的是为了将Elasticsearch的使用范围扩大到下列这三个方面:
站点与站点之间的数据传输
任务处理
站点和服务的状况
CERN未来的Elastic项目
我们目前在评估如何能够进一步得益于Elasticsearch组件。目前的评估包括这几个独立的方面:
采用Logstash将数据插入到集群
使用单一Elasticsearch集群支持所有不同的使用场合,确保每个租户的授权都能得到实现。
描述每一种应用软件所需的不同类型的文档和索引
评估Kibana用于可视化。这个方面的优先级较低,因为团队已经实施了必要的
Web界面,现在正把精力投入到修改Web界面上,以便读取来自Elasticsearch的数据。
虽然现在下最终结论为时太早,不过到目前为止使用Elasticsearch的感觉非常好,我们会继续扩大评估范围。
参考资源:
http://wlcg.web.cern.ch
http://dashb-wlcg-transfers.cern.ch
http://dashb-cms-job.cern.ch/dashboard/templates/web-job2
http://dashb-ssb.cern.ch
http://dashboard.cern.ch
http://mig.web.cern.ch/mig
http://www.espertech.com/esper
http://iopscience.iop.org/article/10.1088/1742-6596/513/3/032048
作者简介:Pablo Saiz是来自西班牙的计算机科学家,他在CERN已工作了15年。在此期间,他为全球LHC计算网格(WLCG)负责与分布式计算有关的几个方面。他是AliEn(基于网格的ALICE环境)的主要开发者和项目负责人。AliEn是ALICE(其中一个LHC试验)用来在参与这项试验的70多个站点之间分布数据和工作负载的一套系统。目前,他带领的一支团队负责开发监测WLCG使用的应用软件。该团队提供监测数据分布、任务处理和服务状态的应用软件。Pablo是站点状况面板(SSB)和服务可用性监测(SAM3)等工具的主要设计者。