Hawkeye:助力TISPLUS实现数据化运营

简介: 背景 TISPLUS平台的数据分析能力主要由hawkeye提供,但是之前存在如下几个问题:1.数据化场景的功能没有凸显,隐藏较深;2.产品形态设计单一,没有一个较好的产品闭环引导用户关注数据化的结果;3.数据分析内容简单,覆盖面不足,远远达不到让用户数据化运营服务的目标;4.重点关注了数据分析的结果,但缺少衡量数据分析结果为搜索服务本身带来的价值大小。

背景

阅读本文的同时,建议大家先阅读洪震的文章《阿里集团搜索中台TisPlus》。TISPLUS平台的数据分析能力主要由hawkeye提供,但是之前存在如下几个问题:1.数据化场景的功能没有凸显,隐藏较深;2.产品形态设计单一,没有一个较好的产品闭环引导用户关注数据化的结果;3.数据分析内容简单,覆盖面不足,远远达不到让用户数据化运营服务的目标;4.重点关注了数据分析的结果,但缺少衡量数据分析结果为搜索服务本身带来的价值大小。我们深知数据必须和业务、平台本身做深度结合才能产生其核心价值,为了助力TISPLUS平台数据化能力建设,更好的发挥hawjeye的作用,我们项目小组进行了诸如数据化需求调研分析、产品视觉稿设计、hawkeye平台拆分、在TISPLUS平台落地数据化等一系列工作。

hawkeye简介

hawkeye是一个数据分析产品,定位于协助维护及优化线上系统,包括但不限于ha3、sp、igraph等引擎,目前主要基于tisplus平台,进行ha3引擎的数据分析以及引擎优化,诸如慢查询、引擎schema合理性、服务稳定性、资源配置合理性的检测及优化等。

系统简介

hawkeye平台.png | center | 704x479

1.hawkeye平台经过拆分后大体分为三部分

  • hawkeye-blink:基于Blink完成数据处理的工作,重点是访问日志分析、全量数据分析等,该工程侧重底层的数据分析,借助Blink强大的数据处理能力,每天对于TISPLUS平台所有Ha3应用的访问日志以及全量数据进行分析,工程处理流程图如下:

Blink工程数据处理流程图.png | center | 704x288

  • hawkeye-experience:基于hawkeye-blink的分析结果进行更加贴近用户的分析,比如字段信息监测,包括字段类型合理性,字段值单调性监测等,除此之外还包括但不限于kmon无效报警、冒烟case录入情况、引擎降级配置、内存相关配置、推荐行列数配置以及切换时最小服务行比例等检测,hawkeye-experience工程的定位是做一个引擎诊断规则中台,将平时运维人员优化维护引擎的宝贵经验沉淀到系统中来,让每一个新接入的应用可以快速享受这样的宝贵经验,而不是通过一次次的踩坑之后获得,让每位用户拥有一个类似智能诊断专家的角色来优化自己的引擎是我们的目标,也是我们持续奋斗的动力,其中hawkeye-experience的数据处理流程图如下所示:

hawkeye-experience.png | center | 704x623

  • hawkeye-console:web层,提供hawkeye分析结果的各种api以及可视化的监控图表输出。

2.TISPLUS-Ha3平台:搜索引擎服务平台,目前接入了商品中心IC、聚划算、村淘、盒马、评价、优酷、咸鱼、飞猪、lazada等重要业务;
3.TISPLUS-sp平台:sp+ha3组成一个完成的引擎服务;
4.airflow/matt:搜索调度平台(后更名为matt),hawkeye有约上百个分析任务,有些是脚本式任务,有些需要上传资源文件,诸如java jar,bash script等,每天有定时触发以及手动触发等多种类型,airflow/matt很好的支持了hawkeye的任务调度;
5.容量评估平台:刚上线的应用如何申请资源?有点懵,别上火,容量评估告诉你,容量评估数据的得出,得益于heracles(压测平台)支持大促压测、日常化压测以及容量评估。
6.成本平台:数据分析结果为搜索服务带来的价值几何?成本平台衔接数据化运营及其价值,服务优化带来的价值清晰可见;
7.sophon:智能化运维平台,目前主要从sophon获取应用关于引擎的一些配置信息,后续将和智能化运维结合,更好的发挥hawkeye在数据化运营这块的作用。

tisplus数据化场景&现阶段成果

数据大盘

由原先的混合平铺tag改为单独入口,数据大盘包括内容有:服务总览、Ha3引擎监控指标、Ha3引擎分析指标、成本指标、sp监控指标、资源浪费情况等,是对业务全方位的重点数据展示,通过数据大盘,业务方可以轻松查看业务各个细节数据,时刻做到心中有“数”。其中慢查询相关的分析有慢查询特征分析,慢查询数变化趋势等。

一键诊断

一键诊断的目的是让用户不需要理解系统复杂度的前提下仍然清楚的了解自己引擎的健康状态,做用户的智能诊断专家,因此我们推出健康分这一指标用于衡量引擎健康状态,用户通过健康分可以明确知道自己的服务健康质量如何。同时每一项都给出了诊断时间,配置不合理的简要描述以及详情,优化的收益,并给出子项的健康分以及优化的链接,诊断时间根据数据源的性质分为T+1的检测和实时的检测。

  • 诊断决策:诊断项事先需要定义好相应的规则,规则的获取来自实际的运维经验以及引擎的配置要求等,目前主要包括服务稳定性性检测,资源配置检测以及字段信息检测三大类共计九个小项的检测,将获取的信息经过规则判断,得到诊断分析的结果,同时为相应的诊断项赋予相应的权重和计算子项健康分,每一个诊断项根据其重要程度分为Not_important、important、Very_important三个等级;
  • 计算应用健康分:目前应用健康分计算较为简单有效,仅是将各个子项的健康分以及权重做线性加权得出。

一键诊断的页面触发逻辑详见下图:

一键诊断3.png | center | 704x390

目前一键诊断的产品形态如下图所示,当业务处于正常状态时诊断结果如下图所示:
一键诊断1.png | center | 704x759

一键诊断2.png | center | 704x501

当诊断结果显示应用有需要优化的问题时诊断结果如下图所示:
一键诊断4.png | center | 704x308

成本趋势

数据化运营最为关键的点在于如何去衡量数据化带给平台的价值。TISPLUS和成本系统打通之后,任何有价值的优化都得以在成本系统上体现,结合TISPLUS,我们在用户最常运维的页面加入成本趋势,用户可以看到自己服务的累计总成本与累计节省成本,不同时间段的成本对比,与成本相关的操作记录,让每一步的优化与成本下降有“据”可查,同时激励用户持续不断的优化引擎,达到效率和稳定性的一个平衡。

应用日报

平台做了许多数据化的feature,但是数据化的内容,少即是多,我们需要把最精简的,最核心的,最需要用户关心的数据透出,因此我们将这些数据化内容进行分类筛选,选出最核心的数据每天定时发给业务方。我们挑选了诸如成本信息、稳定性信息、诊断信息三部分最核心的信息作为邮件内容发送给业务负责人。

经过上述这些场景的落地,基本形成数据大盘、一键诊断、成本趋势、应用日报这样一个有效的闭环,通过持续的优化线上系统,最终达到效率和稳定性的平衡。如果你对数据分析和引擎优化方面有心得,欢迎与我交流,也欢迎有才的你加入搜索事业部。

image.png

相关文章
|
搜索推荐 C++ 开发者
VSCode安装使用教程,保姆级!
本文介绍了Visual Studio Code(VS Code)的安装和基本使用,包括从官网下载安装包,按照步骤在Windows系统上安装,以及设置个性化主题。此外,还强调了安装插件以增强功能,例如安装简体中文插件,并展示了如何搜索和安装插件。VS Code作为一个免费、开源的轻量级编辑器,其丰富的扩展性和高效性使其成为开发者工具的首选。
|
Java Linux 开发工具
Jenv 多版本JDK管理
Jenv 可以对多版本JDK进行管理
|
SQL 分布式计算 大数据
MAXCOMPUTE和ODPS的区别是什么?
MAXCOMPUTE和ODPS的区别是什么?
1547 1
|
7月前
|
数据采集 人工智能 自然语言处理
Agentic Search: AI驱动的下一代企业搜索
Agentic Search是阿里云OpenSearch推出的AI搜索新范式,以智能体(Agent)为核心,融合深度检索、多步推理、工具调用与多模态理解,实现从“被动响应”到“主动执行”的跃迁。支持对话、规划、自适应三模式,覆盖问答、研究、客服、报告生成等全场景,助力企业知识库升级为动态业务引擎。
2069 2
Agentic Search: AI驱动的下一代企业搜索
|
1月前
|
自然语言处理 运维 算法
基于阿里云 OpenSearch 行业算法版的海外电商智能搜索实践
本文档详述东南亚电商巨头GoTerra从自建Elasticsearch迁移至阿里云OpenSearch行业算法版的全链路实践,涵盖多语言语义理解、向量检索、低延迟优化(P99延迟降幅超70%)、弹性成本控制与安全加固,提供可复用的企业级智能搜索升级范式。
272 0
|
5月前
|
人工智能 弹性计算 运维
|
9月前
|
开发者 Python
告别冗长:用Python的Walrus运算符为你的代码“减肥”
告别冗长:用Python的Walrus运算符为你的代码“减肥”
551 118
|
Kubernetes 异构计算 容器
Kubelet之Topology Manager分析
Topology Manager是kubelet的一个组件,在kubernetes 1.16加入,而kubernetes 1.18中该feature变为beta版。本篇文档将分析Topology Manager的具体工作原理。1.为什么需要Topology Manager现代计算机的CPU架构多采用NUMA(Non-Uniform Memory Access,非统一内存)架构。NUMA就是将cpu
5411 0
|
人工智能 Kubernetes 云计算
第五届CID大会成功举办,阿里云基础设施加速AI智能产业发展!
第五届中国云计算基础架构开发者大会(CID)于2024年10月19日在北京成功举办。大会汇聚了300多位现场参会者和超过3万名在线观众,30余位技术专家进行了精彩分享,涵盖高效部署大模型推理、Knative加速AI应用Serverless化、AMD平台PMU虚拟化技术实践、Kubernetes中全链路GPU高效管理等前沿话题。阿里云的讲师团队通过专业解读,为与会者带来了全新的视野和启发,推动了云计算技术的创新发展。
|
监控 Linux Shell
深入解析Linux中的machinectl命令
`machinectl`是Linux systemd中的工具,用于管理轻量级系统容器的生命周期,如虚拟机和容器。它提供启动、停止、重启等操作,并基于dbus接口与systemd交互。特点是轻量级、高隔离性及灵活性。常用命令包括`list`、`status`、`start`、`stop`等。示例:`machinectl start mycontainer`启动容器,`machinectl shell mycontainer`打开容器shell。使用时注意安全、谨慎操作、备份数据,并监控资源使用。