如何将“智能巡检”嵌入“业务系统”中?

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 智能巡检借助强大的SLS“告警2.0”消息系统,可以很好的桥接很多内部和外部的系统(EventBridge、FC等),也可以借助SLS的SDK和自定义的函数去解决针对“告警结果”的下一步“分析任务”,从而更好的实现对于问题的排查和解决。

产品架构

智能异常分析应用围绕运维场景中的监控指标、程序日志、服务关系等核心要素展开,通过机器学习等手段产生异常事件,通过服务拓扑关联分析时序数据和事件,最终降低企业的运维复杂度,提高服务质量。产品架构图如下所示。

能力说明:

  • 单个任务支持3K~5K个观测对象的单维度、多维度的异常检测
  • 对于任务的检测结果而言,我们将异常分数和异常形态进行量化,便于进行后续的处理
  • 对于超过0.75分数的异常点,我们将相关的信息(可视化的图)通过告警2.0推送到您的钉钉系统中去
  • 对于全部的检测结果,我们将检测信息写入到当前的internal-ml-log中去,供您通过SDK去进行后续的集成
  • 同时在我们的App的任务页面,我们支持了“标注反馈”功能,您可以对检测的结果进行相关的标注,提升模型的学习准确度

那么接下来,我们一起来看下,如何更好的将“巡检”能力嵌入到您的业务系统中去!

能力集成

智能巡检借助强大的SLS“告警2.0”消息系统,可以很好的桥接很多内部和外部的系统(EventBridge、FC等),也可以借助SLS的SDK和自定义的函数去解决针对“告警结果”的下一步“分析任务”,从而更好的实现对于问题的排查和解决。

任务创建

这里我们以一个SLS的自身的监控场景为例去看下改工具具体要怎么更好的使用。我们想明确下场景的问题:在LogStore中,通过对访问日志的拆解我们可以拿到如下结构化信息(见下图)。很多客户的实际业务场景也是类似的,在访问日志中记录着客户的访问行为,通过巡检当前业务的黄金指标,我们可以很好的知道目前服务中各个API接口的服务能力。

根据上述的结构,我们定义当前的需要巡检的黄金指标:

  • 某集群各服务接口每分钟成功响应的次数
  • 某集群各服务接口每分钟失败响应的次数
  • 某集群各服务接口每分钟成功平均响应延时
  • 某集群各服务接口每分钟失败平均响应延时
*|SELECT   __time__ - __time__ %60AStime,         method,Count(*)AS total,         Count_if(status=200)AS n_succ,         Sum(         CASE
                  WHEN status=200 THEN latency
                  ELSE 0         END)/(1+ Count_if(status=200))AS avg_succ_latency,         Sum(         CASE
                  WHEN status!=200 THEN latency
                  ELSE 0         END)/(1+ Count_if(status!=200))AS avg_fail_latency
FROM     log
GROUPBYtime,         method limit100000

当然,我们还有另外一个形式的黄金指标,用来进行后续的监控,我们可以仅关注请求失败的接口中的数量的变化,具体的SQL如下

not STATUS:200|SELECT   __time__ - __time__ %60AStime,         method,         status,Count(*)AS num
FROM     log
GROUPBYtime,         method,         status limit100000

我们【智能异常检测】App中完成作业的配置。入口地址 https://sls.console.aliyun.com/lognext/profile

结果说明

通过上述配置,我们得到了一个【智能时序巡检】任务,我们根据下面的结果,介绍下截图中各部分的含义:

  • 【巡检实体数量】:当前任务中一共包含了多少个观测对象
  • 【巡检指标数量】:当前任务中每个观测对象的观测维度
  • 【实体信息列表】:当前任务中全部参与巡检的观测对象,且给每个对象提供一个唯一编码
  • 【异常事件列表】:当前选中的实体,在给定的时间窗口中,给定的过滤条件下的异常分数和异常类型

上述截图中的可视化信息均来自对应的Project下面的LogStore【internal-ml-log】中,关于这个logstore中存储的数据的详细说明,可以参考我们的官网文档。https://help.aliyun.com/document_detail/356466.html


告警使用

您可以通过在【巡检任务】创建的最后一步中,配置多种消息发送逻辑

  • 钉钉-自定义
  • 事件总线(EventBridge)
  • 函数计算(FC)

通过SDK/钉钉发送消息

这里面的详细配置逻辑以及解释不在赘述,更多信息可以参考这个链接:https://developer.aliyun.com/article/851142 里面较为详细的介绍了在告警中您可以使用那些字段进行后续的操作和判别。当巡检任务发现一个异常时,会将具体的信息按照如下的模版推送到钉钉的webhook地址。

函数计算(FC)

关于配置函数计算去进行后续操作的部分细节可以参考 https://help.aliyun.com/practice_detail/419622

这里我们简单的说在下一步的分析思路:

参考资料

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
1269 0
|
前端开发 Java 应用服务中间件
ruoyi-vue前后端分离项目实现一体化打包(前后端合并打包)
ruoyi-vue前后端分离项目实现一体化打包(前后端合并打包)
2912 0
|
8月前
|
IDE 开发工具 开发者
使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件
# 使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件 #鸿蒙开发工具 #DevEco Studio
814 1
|
11月前
|
数据采集 运维 监控
数据分析异步进阶:aiohttp与Asyncio性能提升
本项目基于aiohttp与Asyncio开发异步爬虫,目标采集今日头条新闻数据。初期因网站限制机制导致请求异常,通过设置代理IP、Cookie和UserAgent解决拦截问题,并优化异步任务调度与异常捕获提升性能。方案包括动态代理池、统一请求头配置及日志监控,确保高并发下的稳定性。示例代码展示代理IP、请求头设置与错误处理方法,为类似项目提供参考。
327 1
数据分析异步进阶:aiohttp与Asyncio性能提升
|
API 开发工具 开发者
探究亚马逊国际获得AMAZON商品详情 API 接口功能、作用与实际应用示例
亚马逊提供的Amazon Product Advertising API或Selling Partner API,使开发者能编程访问亚马逊商品数据,包括商品标题、描述、价格等。支持跨境电商和数据分析,提供商品搜索和详情获取等功能。示例代码展示了如何使用Python和boto3库获取特定商品信息。使用时需遵守亚马逊政策并注意可能产生的费用。
|
机器学习/深度学习 人工智能 运维
智能化运维:AI与大数据在IT运维中的应用探索####
本文旨在探讨人工智能(AI)与大数据分析技术如何革新传统IT运维模式,提升运维效率与服务质量。通过具体案例分析,揭示AI算法在故障预测、异常检测及自动化修复等方面的实际应用成效,同时阐述大数据如何助力实现精准运维管理,降低运营成本,提升用户体验。文章还将简要讨论实施智能化运维面临的挑战与未来发展趋势,为IT管理者提供决策参考。 ####
基因组组装:Hifiasm 使用教程
基因组组装:Hifiasm 使用教程
1288 1
|
Linux Docker 容器
Docker 安装 Elasticsearch、Kibana
Docker 安装 Elasticsearch、Kibana
228 0
|
SQL 存储 数据采集
软件测试之测试的分类(重点:黑盒测试、白盒测试、单元测试、集成测试、系统测试)
1. 按照测试对象进行划分 1)界面测试 2)可靠性测试 3)容错性测试 4)文档测试 5)兼容性测试 6)易用性测试 7)软件安装卸载的测试 8)安全测试 9)性能测试 10)内存泄漏测试 2. 按照是否查看代码划分 1)黑盒测试 2)白盒测试 3)灰盒测试 3. 按照开发阶段划分 1)单元测试(结合 V 模型) 2)集成测试 3)系统测试 4)验收测试 5)将上面四种测试方法同 V 模型的阶段进行对应 4. 按照测试实施组织划分 1)α 测试 2)β 测试 3)第三方测试 5. 按照是否运行进行划分 1)静态测试 2)动态测试 6. 按照是否手工划分 1)手工测试 2)自动化测试
2371 0