可用性监控-先于客户知道您的应用挂了

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 任何服务都避免不了出现以下问题,你的用户访问不了你的服务或者站点,用户偶尔碰到5xx,服务响应延迟比较慢,某台应用进程挂掉,导致访问时好时坏。问题在于,你是否要等你的用户来告诉你,你的程序是问题了。

背景

任何服务都避免不了出现以下问题,你的用户访问不了你的服务或者站点,用户偶尔碰到5xx,服务响应延迟比较慢,某台应用进程挂掉,导致访问时好时坏。问题在于,你是否要等你的用户来告诉你,你的程序是问题了。

出问题的原因很多,应用进程挂了,java应用大GC导致应用不响应,应用依赖的rds,redis响应慢或者干脆不响应。应用依赖的其他http服务响应慢或者不响应等。

困难

然而,当企业上云后,应用程序的运行环境也变得复杂。
也许你的应用程序跑在了ecs上,可能是在vpc的内网环境里,无法有效的触达到你的应用程序。
也许你的应用程序跑在docker容器里。
也许你的应用程序是直接run在serverless架构里。
也许你懒于自己维护了一个zabbix,需要付出较大的维护成本。
以上这些,都让应用程序的运行时可用性监控变得困难。

另外,出问题的原因很多,应用进程挂了,java应用大GC导致应用不响应,应用依赖的rds,redis响应慢或者干脆不响应。应用依赖的其他http服务响应慢或者不响应等。
如何用一个方案,简单的把这些全部监控起来?出问题的时候及时的告诉应用开发人员?

解决方案

可用性监控

云监控推出了应用可用性监控,可以通过在控制台创建一个可用性监控任务,从分组内选择部分机器,发起到本地127.0.0.1或者到内网组件(rds,oss,redis等),或者是远程api的探测任务,并将探测结果反馈到云监控,同时用户可以对探测结果设置一个报警, 当探测不通或者不符合预期时,通过短信,邮件,钉钉,消息,回调等方式,在出问题的第一时间通知给你,让你在第一时间作出反应。
目前支持的探测类型包括:ping,telnet,http(s)三种,其中http支持对返回结果做简单检验,判断是否包括某些关键字等。

可用性探测示意图

image

具体步骤

  • 创建分组,实例资源加入分组,并给分组指定相关人(管理分组,接收报警通知)
    image

image

  • 创建应用本身的可用性监控

image
image

  • 创建应用对rds/redis的依赖监控
    前提是,需要将依赖也加入到本应用分组内。

这个监控只能对应用分组的资源进行监控。
image

报警通知

目前云监控支持短信,钉钉,邮件,消息MNS,公网http回调等多种通知方式。同时支持报警后静默多长时间再次通知,在哪个时间段内生效(也许白天你上班时间自己盯着,不希望白天发短信)。
另外,云监控提供每月1000条短信免费使用。在下个版本,大概3月底,云监控还将支持电话报警。
到这里, 安全可靠的应用可用性监控就配置好了, 如果应用发生问题,比如进程挂掉,端口不响应,响应延迟等,就可以及时得到通知了。

彩蛋

同时, 云监控还支持

  • 主机监控(提供秒级的丰富的监控指标,支持非阿里云主机,打通线上线下)
  • 云服务监控(包括阿里云上30+商业化产品),
  • 站点监控
  • 日志监控
  • 自定义监控
  • 事件监控(上报异常事件并报警)
  • 丰富灵活的Dashboard(自定义监控大盘)
  • 支持跨产品跨地域的应用资源分组
    等丰富完善的端到端的监控功能栈。相信一定可以解决您的云上监控需求。

更多详情可查看云监控产品手册:https://www.aliyun.com/product/jiankong
image

产品咨询与支持,欢迎扫描钉钉二维码加入云监控用户支持群
image

目录
相关文章
|
消息中间件 网络性能优化 开发工具
消息队列 MQ使用问题之如何确保消息的唯一性
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
机器学习/深度学习 PyTorch 算法框架/工具
为什么大型语言模型都在使用 SwiGLU 作为激活函数?
SwiGLU可以说是在大语言模型中最常用到的激活函数,我们本篇文章就来对他进行详细的介绍。
1340 9
|
网络协议 Linux 网络安全
Centos7开启SSH服务
在虚拟机(Vmware Workstation)下,安装了CentOS7,现在想通过SSH工具连接虚拟机中的CentOS7
2633 0
Centos7开启SSH服务
|
8月前
|
弹性计算 运维 Cloud Native
《DeepSeek成本“瘦身”秘籍:云原生技术全解析》
在人工智能领域,DeepSeek不断突破技术边界,但面临计算资源成本攀升的挑战。云原生技术为其带来了曙光,通过容器化、微服务架构、自动化运维和弹性伸缩等核心能力,实现了资源利用的最大化、精细分配及动态适配业务需求,有效降低了硬件购置、运维和人力成本,助力DeepSeek在竞争中保持优势,为用户提供更优质的服务。
180 8
|
11月前
|
前端开发 开发者
React 单选按钮 Radio Button 详解
本文介绍 React 中单选按钮的基础概念、基本用法、常见问题及进阶技巧,包括如何正确设置 `checked` 属性、确保 `name` 属性一致、处理 `onChange` 事件,以及动态生成单选按钮和使用受控组件等,通过代码示例详细解析,帮助开发者有效管理状态和优化用户交互。
327 32
|
弹性计算 运维 监控
阿里云运维第一步(监控):开箱即用的监控
监控运维是一个体系化的工作,完善这个体系非一日之功。但是我们的业务不可一日无监控“裸奔”,在阿里云怎么样快速低成本的建立第一道资源监控的护城河?开箱即用的云监控,将会是你进入阿里云的第一个可靠的小伙伴。
14515 110
|
存储 运维 Linux
运维系列.在Docker中使用Grafana(一)
运维系列.在Docker中使用Grafana(一)
1921 5
|
供应链 Python
Demand Forecasting模型解释与Python代码示例
Demand Forecasting模型解释与Python代码示例
|
SQL 关系型数据库 数据库
C语言与数据库:使用C语言操作SQLite等数据库。
C语言与数据库:使用C语言操作SQLite等数据库。
|
JavaScript 前端开发 开发者
Node.js的包管理和npm工具深度解析
【4月更文挑战第30天】本文深入解析Node.js的包管理和npm工具。包管理促进代码复用和社区协作,包包含元数据描述文件`package.json`和入口文件。npm提供搜索、安装、发布等功能,通过命令行进行操作,如`install`、`search`、`uninstall`。npm支持版本控制、全局安装、脚本定义及私有仓库。理解和熟练运用npm能提升Node.js开发效率。