基于 Elasticsearch 生长的 SREWorks 数据化运维体系
开源 Elasticsearch 是一个基于 Lucene 的实时分布式的搜索与分析引擎,是遵从 Apache 开源条款的一款开源产品,是当前主流的企业级搜索引擎。作为一款基于 RESTful API 的分布式服务,Elasticsearch 可以快速地、近乎于准实时地存储、查询和分析超大数据集,通常被用来作为构建复杂查询特性和需求强大应用的基础引擎。
2017 年,阿里云携手 Elastic 合作推出了阿里云 Elasticsearch 服务,在 100%兼容开源功能的同时,支持开箱即用、按需付费。通过 Elastic 创新的检索技术与阿里云自研的云原生高性能内核、达摩院 NLP 分词与向量检索等能力,帮助企业客户提升业务成效,并节约费用支出。在切实提高企业应用程序性能的同时,提升业务的敏捷性和智能化,缩短解决问题所需时间,使客户可以专注于自身业务创新。
基于"源于开源,又不止于开源"的产品理念,阿里云 Elasticsearch 持续在包含智能运维在内的可观测场景进行云原生引擎能力升级,作为业内首个 Serverless Elasticsearch 云服务,云上日志增强引擎可提供基于读写分离架构的 Indexing Service 写入加速服务、Openstore 海量存储服务,从而实现 Elasticsearch 写入及存储 Serverless,为用户带来更低成本、更高性能、更简单易用的全观测场景能力。
ELK 作为业界处理与分析日志首选的解决方案,由搜索引擎 Elasticsearch、采集与解析工具 Logstash、轻量级采集组件 Beats、可视化分析工具 Kibana 等工具组成,形成了一整套生态矩阵。目前阿里云已经成功将全套 ELK 搬到了云上为用户提供服务,可以被广泛应用于实时日志处理、全文搜索和数据分析等领域。SREWorks 正是基于以 Elasticsearch 为主的生态矩阵,构建了一套应用全观测数据化运维最佳实践。
1. 数据化运维体系是什么
数据化运维体系,是一套把所有系统的运维数据采集起来、真正打通,深度挖掘这些数据的价值,通过数据驱动运维并为运维提供数据决策,同时能将生产系统进行“运维量化管理”的数据化运维业务模型。基于该模型建立标准化运维数仓,建设数据运维平台,在平台中规范运维数据的采集,存储,计算以及分析,并提供一系列数据化服务,供上层运维场景使用。
2. SREWorks 数据化运维平台
SREWorks 数据化运维平台包含一个核心和多个数据服务,一个核心即运维数据仓库,提供标准运维数据模型;多个数据服务即围绕运维数据的采集、存储、计算以及分析的数据化链路,提供的规范化数据服务,支撑应用的运维量化。
运维数仓
基于开源 Elasticsearch 建设标准化运维数仓,抓住数据化运维本质,抽象三大数据主题和九个数据域,内置涵盖云原生数据运维场景的数据实体和数据模型。数仓具备灵活的用户自定义实体/模型能力,充分满足用户的个性化需求。
数仓数据后端采用 Elasticsearch 存储,其分布式索引架构、多副本、索引生命周期管理以及数据冷热存储分离等特性,很好的满足了数仓的稳定性和动态性基本特性。同时可以对接多种数据处理工具(Logstash、Spark、Flink、APM Server),最终数据落地 Elasticsearch,支撑起整个运维数仓的存储和检索能力。
数据采集服务
集成 metricbeat、filebeat、skywalking 等数据采集 agent,以全托管方式,进行可观测数据采集,包括 Node/Pod/Container 资源/负载指标、状态指标、运维事件、Prometheus 外围指标、服务(容器)日志采集解析、服务追踪调用链采集分析等。metricbeat 支持基于标签的服务自动发现能力,默认监听 10800 端口,主动采集满足标签条件服务上报的业务指标数据。
作业平台采集场景服务,属于自研数据采集服务,支持多种数据采集脚本,关联数仓模型,通过 SREWorks 运维数仓托管业务的运维数据。
数据计算/分析服务
开源 Apache Flink 是一个⼀站式实时大数据分析平台,通过标准 SQL 降低业务开发门槛,提供端到端实时数据分析能力。同时内置常规数据处理 UDF(阈值检测、数据聚合、数据降采样),支撑时序数据的流式加工处理。
作业平台数据化场景服务,覆盖巡检、分析、诊断等多个数据化场景,可自定义数据处理逻辑,满足用户个性化数据处理要求。
指标服务
提供指标定义和指标实例的配置与管理,已经内置基础资源和基础性能指标,用户可以按需新增指标。新增指标可以关联到采集场景服务,支持指标数据推送 kafka 队列,用于进行下游数据计算消费。
数据集服务
数据集服务提供快速将运维数仓模型存储数据表或者用户自定义数据源表生成 API 的能力,用户无需具备编码能力,即可快速配置数据接口,实现数据的管理和消费。目前优先支持 elasticsearch 和 mysql 数据源。
3. 基于 SREWorks 数据化运维实践
3.1 稳定性建设
服务链路全观测建设
由于 IT 系统日益增加的复杂度、大量云原生技术的采用,使得服务快速排障变得越来越难。而指标、日志和追踪三大可观测性支柱,可以实现服务的白盒监控能力。
SREWorks 数据平台集成 metricbeat、filebeat、skywalking 等数据采集 agent 和自研数据采集场景作业,提供全托管一站式可观测数据采集能力,可以直接获取运行系统的指标、日志和调用链,协助问题的排查和诊断,缩短故障恢复时长(TTR)。
健康管理服务建设
为了帮助用户更好的感知系统运行状态,实现系统的监控管理,结合阿里 Emon 团队的智能检测服务和自研作业场景服务,构筑健康管理服务。包括事件采集管理、风险巡检、指标告警检测、异常诊断场景作业,帮助用户识别风险、分析告警、进行异常诊断和自愈以及故障管理。
建设规范化健康管理平台,能够降低或者消除系统隐患,尽最大可能将潜在故障扼杀在萌芽状态。一旦故障发生及时通知关联人员,进一步提升应对效率,确保行动的有效性。
3.2 成本建设
当前云原生服务成为云计算主流的服务形态,但由于云原生化的应用程序及其资源需求常常是动态变化,这也导致云成本的计算复杂性。为此,SREWorks 内置一套完整的成本管理解决方案,包含资源消耗计量计费的可视化、资源使用明细分析,用于辅助用户优化和治理云资源成本。
SREWorks 系统设置下的成本定价模型,重点从资源层面(CPU、内存、存储)进行成本核算。平台会自动按照应用粒度,每天进行应用资源用量和成本计费汇总,汇总数据自动同步至数据仓库应用成本模型(APP_COST)存储。
3.3 效率建设
运维效率即运维活动的效率,代表了运维的平台化能力,包括自动化运维操作和自动化的构建部署等,而人效比是最能直接体现运维效率,衡量人力资源价值的指标。
3.4 运营中心
运营中心从质量、成本、效率三个维度,提供应用的实时健康分、健康实例统计、应用可用率、应用成本占比、资源分配、运维人效、运维操作统计等关键数据看板,致力于保证用户获取准确可靠的应用运行状况、健康趋势、成本资源水位以及人力消耗,从而作出稳定性保障、预算准备、资源扩容等运维决策。
4. 结语
随着阿里巴巴云原生大数据运维平台 SREWorks 的开源,我们得以将其中的数据化运维思想和运维实践分享给大家,抛砖引玉,希望能给大家带来不一样的思想碰撞。同时欢迎大家持续关注我们的开源数据化平台,期待与您进行沟通交流,一起推动云原生数据化运维的发展建设。(请点击下方二维码后扫描)
开源项目地址:
https://github.com/alibaba/sreworks
如需免费试用了解阿里云 ES,请查看阿里云 Elasticsearch 地址:
https://www.aliyun.com/product/bigdata/elasticsearch
更多开源项目合集:
https://www.aliyun.com/activity/bigdata/opensource_bigdata__ai
评论