封神-核心功能 | 钉钉告警+数据网关

简介: 封神-核心功能 | 钉钉告警+数据网关

 

0.png

 

1. 开发背景

1.1 用户痛点

①租户侧运维能力弱
问题:租户侧,客户没有有效途径,及时地获取实例级的状态、性能、容量的数据。
现状:每日固定时间,驻场需要人肉收集数据,钉钉定时推送给客户。
②问题排查效率低
问题:应用业务有问题,云平台产品正常,客户并不认可,需要帮助客户解决问题。
现状:发现应用实例出现性能、容量被打满的问题,这个排查过程往往冗长, 效率很低。
③监控能力缺失
问题:云平台监控不全,容量管理、性能管理等报表能力缺失。
现状:驻场需要通过大量人肉巡检,或者编写脚本。
④监控 方式时效性低
问题:业务侧总会优先于应用与云平台感知到故障,运维非常被动 。
现状:客户发现问题,通知应用,应用检查后,再溯源到云平台,排查链路串行并且低效。

1.2 解决方案

①保障业务稳定
通过云产品的服务能力的变化情况及业务仿真模型的建立,提前预知客户业务健康度,低于基线后便会触发告警。
②SLA化展示
触发阈值自动报警,量化产品健康状况。

2. 开发设计

2.1 系统架构

 

1.jpg
图1:系统架构图

 

封神系统架构如图1所示,分为CLIENT与SERVER端两大模块。

  • CLINET端:部署在经典网铜雀容器内,通过定时任务控制去采集云内各产品数据。
  • SERVER端:部署在VPC内ECS上,系统框架为FLASK,分为数据处理与数据存储两大部分。

    ①数据处理是指通过提供API接受CLIENT的数据并进行入库操作以及数据的前端展示。
    ②数据存储是指借助阿里云RDS数据库,对数据进行持久化操作作。

2.2 业务架构

 

2.png
图2:业务架构图

 

封神业务架构如如2所示,分为五大板块。

  • 姜子牙:租户侧告警,主要包括ECS、RDS等云产品实例性能以及业务相关告警。
  • 申公豹:运维侧告警,主要包括云产品健康状态、水位容量等相关告警。
  • 雷震子:硬件告警,主要包括坏盘,物理机带外等告警。
  • 比 干:安全告警,主要来自云盾相关安全类告警。
  • 杨 戬:故障告警,主要对各产品数据进行SLA算法处理,设置P0,P1等级故障阈值。

3. 钉钉告警

3.1 告警分类

机器人创建方式可参考文后资料[1]了解详情。

姜子牙

 

姜子牙.png

 

申公豹

 

申公豹.png

 

雷震子

 

雷震子.png

 

比 干

 

比干.png

 

杨 戬

 

杨戬.png

 

3.2 告警展示

 

3.jpg
图3:姜子牙

 

 

4.jpg
图4:申公豹

 

 

5.jpg
图5:雷震子

 

 

6.jpg
图6:比干

 

 

7.jpg
图7:杨戬-1
7-2.jpg
图7:杨戬-2
7-3.jpg
图7:杨戬-3
7-4.jpg
图7:杨戬-4

 

4. 数据网关

数据网关分为两大模块:获取数据、接收数据。

  • 获取数据分为告警数据、全量数据、性能数据。

    ①告警数据:分别对应钉钉机器人推送的告警信息,封装成相应的数据格式,以API接口形式对外提供数据。
    ②全量数据:数据库源表数据,不做任何加工处理,以API接口形式对外提供数据,可操作性较高。
    ③性能数据:产品性能数据会定期存储到时序数据库,存储时间长,可查询历史性能数据。

  • 接收数据:提供对外API接收客户自定义监控数据,封装成MARKDOWN格式,实时进行钉钉告警。

4.1 获取数据

4.1.1 告警数据

4.1.1.1 请求接口

请求方式:POST请求
URL地址: http://{ip}:{port}/api/v1/search/monitor
ip:封神ecs_ip
port:9170
PARAM:参数列表可查看文后资料[2]了解详情。

 

FDFAE04A-E7F5-486f-80FF-157DF015BB04.png

 

4.1.1.2 DEMO

import sys
import requests
url = "http://{ip}:{port}/api/v1/search/monitor/"
data = {"product":"MQ", "title":"积压告警", "stime":"2020-01-04 00:00:00", "etime":"2020-01-04 00:01:00"}
res = requests.post(url=url, json=data)
print res.content
curl -H "Content-Type:application/json" 
-X POST -d '{"type":"ALL"}' http://{ip}:{port}/api/v1/search/monitor/

4.1.1.3 数据返回

 

2D73B472-DCD0-49ec-A2F5-C704FBAA5EE1.png

 

①当前存在告警
{"code":0, "data":[{"info":"0.0.0.0,ecs,95% \n 0.0.0.1,ecs,95% ", "product":"ECS", "title":"性能告警", "level":"告警", "robot":"姜子牙", "monitor_time":"2020-01-14 00:00:00", "columns":"IP,产品,值"}]}
②当前未存在告警数据(告警恢复正常)
{"code":0, "data":[{"info":"", "product":"ECS", "title":"性能告警", "level":"告警", "robot":"姜子牙", "monitor_time":"2020-01-14 00:00:00", "columns":"IP,产品,值"}]}
③未查询到数据:
{"code":0, "data":[]}
④查询异常:
{"code":500, "data":"异常信息"}

4.1.2 全量数据

4.1.2.1 请求接口

请求方式:POST请求
URL地址: http://{ip}:{port}/api/v1/search/data/
ip:封神ecs_ip
port:9170
PARAM:参数列表可查看文后资料[2]了解详情。

 

3320A3E9-D21D-4607-909F-9417EAC3EF05.png

 

4.1.2.2 DEMO

import sys
import requests
url = "http://{ip}:{port}/api/v1/search/data/"
data = {"product":"MQ", "title":"TIME", "stime":"2020-01-04 00:00:00", "etime":"2020-01-04 00:01:00"}
res = requests.post(url=url, json=data)
print res.content

4.1.2.3 数据返回

 

04CC8D1A-F631-49c7-B984-F9004B6BD6BE.png

 

4.1.3 性能数据

4.1.3.1 请求接口

请求方式:POST请求
URL地址: http://{ip}:{port}/api/v1/influxdb_query/
ip:封神ecs_ip
port:9170
PARAM:参数为INFLUXDB SQL

 

68A2A74A-E348-4e6f-B369-F680C7A22C46.png

 

4.1.3.2 DEMO

import sys
import requests
url = "http://{ip}:{port}/api/v1/influxdb_query/"
data = {"sql":"infudb sql"}
res = requests.post(url, data)
print res.content

4.1.3.3 数据返回

 

04CC8D1A-F631-49c7-B984-F9004B6BD6BE.png

 

4.2 接收数据

4.2.1 请求接口

请求方式:POST请求
URL地址:http://{ip}:{port}/api/v1/insert/third
ip:封神ecs_ip
port:9170
PARAM:

 

D0563272-CFDE-4776-AC6D-94D1B29070D7.png

 

4.2.2 DEMO

import sys
import requests
url = "http://172.0.0.1:9170/api/v1/insert/third/"
data = {"title":"ecs性能监控", "level":"预警", "source":"云监控", "product":"ecs", "msg":"ip:10.0.0.1 cpu:98% ip:127.0.0.1 mem:99%", "robot":"姜子牙", "submitor":"高德臣", "monitor_time":"2021-03-10 16:00:00", "details":"兄弟 关注下"}
res = requests.post(url=url, json=data)
print res.text

4.2.3 告警展示

 

8.jpg
图8:告警展示图

 

参考文章

[1] 封神榜部署前置检查:https://yuque.antfin-inc.com/docs/share/d3a743db-af85-47d2-89c5-4f22eb1693c5?
[2] 获取封神数据-三方API:https://yuque.antfin-inc.com/docs/share/2037fbb2-35fa-42ad-8476-ec7502e9ed33?#

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

usleep延时0.毫秒_【进阶】用swoole实现订单的延时处理(自动取消,还原库存等)...

文章正文一、业务场景:当客户下单在指定的时间内如果没有付款,那我们需要将这笔订单取消掉,比如好的处理方法是运用延时取消,很多人首先想到的当然是crontab,这个也行,不过这里我们运用swoole的异步毫秒定时…

中国电信天翼云进入4.0阶段,打造一朵无处不在的分布式云

11月12日,天翼云在2021国际数字科技展暨天翼智能生态博览会天翼云论坛上,发布并解读了全新升级的天翼云4.0分布式云,同时还推出了以红色为主色调的天翼云全新品牌形象。 天翼云新品牌形象 中国电信集团有限公司副总经理唐珂在致辞中表示&am…

软件开发中 前台、中台、后台英文_最近处处惹人爱的中台到底是什么

在当下互联网圈子里要问什么最火莫过于中台这一概念了,各大公司都开始了一轮跑马圈地似的中台建设,那么到底中台是什么呢?本文我们就来谈谈这个话题。一、什么是前台,后台在以往的互联网企业生产流程中,我们可以将研发…

如何基于MaxCompute快速打通数据仓库和数据湖的湖仓一体实践

简介: MaxCompute 是面向分析的企业级 SaaS 模式云数据仓库,以 Serverless 架构提供快速、全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您可以经济并高效的分析处…

数仓架构的持续演进与发展 — 云原生、湖仓一体、离线实时一体、SaaS模式

简介: 数据仓库概念从1990年提出,经过了四个主要阶段。从最初的数据库演进到数据仓库,到MPP架构,到大数据时代的数据仓库,再到今天的云原生的数据仓库。在不断的演进过程中,数据仓库面临着不同的挑战。 作…

华为路由器命令手册_华为路由器+蒲公英路由器,如何做双层路由器映射?

今天上午,有一个客户反馈,他们的软件和linux系统无法实现外网访问了。客户的网络拓扑是这样的,光猫接蒲公英路由器X5,蒲公英路由器的LAN 口IP是192.168.0.1,然后从蒲公英路由器的LAN口连接一根网线到华为路由器WAN口&a…

行业务实派:解锁数据价值,翼方健数全栈隐私安全计算技术

数智化时代,数据已成为最核心、最具价值的生产要素。其中,如何应用可落地的技术,共享和保护数据,促进数据要素进一步流通,释放数据价值,受到业内普遍关注。 隐私计算,被业内誉为打破“数据隐私…

ctrl c 失效了_[安卓+PC双端]超C女仆无馬中字

这周基本啥也没发,传个小游戏吧就~点赞(150) 投币(随缘)推荐用用吉里吉里模拟器玩~应该是女仆类的游戏,我没玩过也不清楚哦链接失效我就不补了,如果点赞在今天内达标,那就今晚20:00补发,不要错…

浅谈分布式一致性:Raft 与 SOFAJRaft

简介: SOFAJRaft已开源 作者 | 家纯 来源 | 阿里技术公众号 一 分布式共识算法 (Consensus Algorithm) 1 如何理解分布式共识? 多个参与者针对某一件事达成完全一致:一件事,一个结论。 已达成一致的结论,不可推翻。 2 有哪些…

OpenKruise v0.9.0 版本发布:新增 Pod 重启、删除防护等重磅功能

简介: OpenKruise 是阿里云开源的云原生应用自动化管理套件,也是当前托管在 Cloud Native Computing Foundation (CNCF) 下的 Sandbox 项目。它来自阿里巴巴多年来容器化、云原生的技术沉淀,是阿里内部生产环境大规模应用的基于 Kubernetes 之…

00后确实卷,公司新来的卷王,我们这帮老油条真干不过.....

都说00后躺平了,但是有一说一,该卷的还是卷。这不,前段时间我们公司来了个00后,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。最…

rsa 返回值 验签 失败_解析蛋糕、面包制作失败的原因

其实这些问题的答案大多都隐藏在搅拌盘、烤炉和烤盘中掌握好这些基础知识就能告别这些常见的失误01﹏﹏﹏好的蛋糕始于搅拌盘做蛋糕的过程实质上是化学变化的过程,一系列的配料遵照严格的顺序倒入搅拌盘里混合并产生特殊效应。想做出蛋糕心松软、湿润和细腻质感的黄…

阿里云资深技术专家李克畅谈边缘云计算趋势与实践

简介: 2021年5月15日,以“相信边缘的力量”为主题的全球边缘计算大会在深圳成功召开。 阿里云资深技术专家李克,分享阿里云在边缘云计算的探索和实践,如何为行业提供广覆盖、低成本、高可靠的边缘基础设施。 2021年5月15日&#…

阿里云江岑:云原生在边缘形态下的升华

简介: 5月20-22日,第十三届中国系统架构师大会(SACC2021)在云端进行网络直播,主题为“数字转型、架构重塑”。阿里云边缘云原生技术专家江岑,分享了阿里云在边缘云原生的探索实践,并从应对技术挑…

对数据“投入”却没有“产出”?听听 Gartner 的最新分析

作者 | 宋慧出品 | CSDN云计算(ID:CSDNcloud)关于数据中台的问题,CSDN 在一年前采访了 Gartner 研究总监孙鑫,采访中,孙鑫提到 数据分析将是改变“游戏规则”的技术、企业的中台需要可组装的架构 。经过一年…

实时计算 Flink 版总体介绍

简介: 实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品&#xff0c…

来电科技:基于Flink+Hologres的实时数仓演进之路

简介: 本文将会讲述共享充电宝开创企业来电科技如何基于FlinkHologres构建统一数据服务加速的实时数仓 作者:陈健新,来电科技数据仓库开发工程师,目前专注于负责来电科技大数据平台离线和实时架构的整合。 深圳来电科技有限公司&…

你说精通 Redis ,你看过持久化的配置吗?

作者 | 阿Q来源 | 阿Q说代码今天让我们从理论和配置两个层面来揭开Redis持久化的神秘面纱。所谓持久化可以简单理解为将内存中的数据保存到硬盘上存储的过程。持久化之后的数据在系统重启或者宕机之后依然可以进行访问,保证了数据的安全性。Redis有两种持久化方案&a…

matlab from有什么用,Matlab函数使用'fromworkspace'将向量传递给simulink

我想编写一个包含simulink块的matlab函数 . 该函数应将数据加载到simulink模型中,运行它,然后从函数返回数据 .我能想到的唯一方法就是在simulink中使用To Workspace和From Workspace块 . 问题是From Workspace块不从功能范围中获取变量,只从…

一种低延迟的超时中心实现方式

简介: 在很多产品中都存在生命周期相关的设计,时间节点到了之后需要做对应的事情。超时中心(TimeOutCenter,TOC)负责存储和调度生命周期节点上面的超时任务,当超时任务设置的超时时间到期后,超时…