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

简介: 智能巡检借助强大的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密码如何修改
1217 0
|
前端开发 Java 应用服务中间件
ruoyi-vue前后端分离项目实现一体化打包(前后端合并打包)
ruoyi-vue前后端分离项目实现一体化打包(前后端合并打包)
2816 0
|
10月前
|
数据采集 运维 监控
数据分析异步进阶:aiohttp与Asyncio性能提升
本项目基于aiohttp与Asyncio开发异步爬虫,目标采集今日头条新闻数据。初期因网站限制机制导致请求异常,通过设置代理IP、Cookie和UserAgent解决拦截问题,并优化异步任务调度与异常捕获提升性能。方案包括动态代理池、统一请求头配置及日志监控,确保高并发下的稳定性。示例代码展示代理IP、请求头设置与错误处理方法,为类似项目提供参考。
304 1
数据分析异步进阶:aiohttp与Asyncio性能提升
|
安全 Ubuntu 应用服务中间件
NGINX环境下实现Web网站访问控制的实战指南
在NGINX中设置基于IP的访问控制可提升网站安全性。步骤包括安装NGINX、备份配置文件、编辑`/etc/nginx/sites-available/default`,添加`allow`和`deny`指令限制特定IP访问,如`allow 192.168.1.100; deny all;`,然后测试配置并重启服务。成功后,仅允许的IP能访问网站,否则会收到403错误。这为Web安全提供基础保障,还可扩展实现更多高级控制策略。【6月更文挑战第20天】
1336 3
|
API 开发工具 开发者
探究亚马逊国际获得AMAZON商品详情 API 接口功能、作用与实际应用示例
亚马逊提供的Amazon Product Advertising API或Selling Partner API,使开发者能编程访问亚马逊商品数据,包括商品标题、描述、价格等。支持跨境电商和数据分析,提供商品搜索和详情获取等功能。示例代码展示了如何使用Python和boto3库获取特定商品信息。使用时需遵守亚马逊政策并注意可能产生的费用。
|
SQL 关系型数据库 HIVE
KLOOK客路旅行基于Apache Hudi的数据湖实践
KLOOK客路旅行基于Apache Hudi的数据湖实践
395 2
KLOOK客路旅行基于Apache Hudi的数据湖实践
|
存储 Shell 数据安全/隐私保护
ZooKeeper【基础知识 04】控制权限ACL(原生的 Shell 命令)
【4月更文挑战第11天】ZooKeeper【基础知识 04】控制权限ACL(原生的 Shell 命令)
467 7
基因组组装:Hifiasm 使用教程
基因组组装:Hifiasm 使用教程
1144 1
|
人工智能 运维 自然语言处理
AI Powered SLS 智能分析能力创新
随着云计算技术不断升级,承载业务的 IT 基础设施规模扩大,各个应用之间的链路关系变得越来越复杂,每时每刻都在产生海量级的日志。
98245 3