先于用户发现服务故障-内网可用性监控

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

背景:

任何服务都避免不了出现以下问题,你的用户访问不了你的服务或者站点,用户偶尔碰到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.png | center | 832x435

具体步骤:

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

image.png | center | 776x564

image.png | center | 776x564

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

image.png | center | 832x605

image.png | center | 832x605

创建应用对rds/redis的依赖监控

前提是,需要将依赖也加入到本应用分组内。

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

image.png | center | 832x548

报警通知

目前云监控支持短信,钉钉,邮件,消息MNS,公网http回调等多种通知方式。同时支持报警后静默多长时间再次通知,在哪个时间段内生效(也许白天你上班时间自己盯着,不希望白天发短信)。

另外,云监控提供每月1000条短信免费使用。在下个版本,大概3月底,云监控还将支持电话报警。

到这里, 安全可靠的应用可用性监控就配置好了, 如果应用发生问题,比如进程挂掉,端口不响应,响应延迟等,就可以及时得到通知了。

最后

同时, 云监控还支持

  • 主机监控(提供秒级的丰富的监控指标,支持非阿里云主机,打通线上线下),
  • 云服务监控(包括阿里云上30+商业化产品),
  • 站点监控,
  • 日志监控,
  • 自定义监控,
  • 错误事件监控,
  • 丰富灵活的自定义监控大盘,
  • 支持跨产品跨地域的应用资源分组

等丰富完善的端到端的监控功能栈。相信一定可以解决您的云上监控需求。

云监控地址:https://www.aliyun.com/product/jiankong?spm=5176.8142029.388261.412.3836dbccqatHrh

image.png | center | 832x477

相关实践学习
基于云监控实现的监控系统
通过阿里云云监控功能给非阿里云主机安装监控插件,从而实现对非阿里云主机的各项指标进行监控和管理,在配置报警规则和报警人的情况下,能对特定的场景做出报警反应通知到报警人的手机上。
目录
相关文章
|
运维 测试技术
6月27日阿里云故障说明
6月27日下午,我们在运维上的一个操作失误,导致一些客户访问阿里云官网控制台和使用部分产品功能出现问题。故障于北京时间2018年6月27日16:21左右开始,16:50分开始陆续恢复。对于这次故障,没有借口,我们不能也不该出现这样的失误!我们将认真复盘改进自动化运维技术和发布验证流程,敬畏每一行代码,敬畏每一份托付。
10784 2
|
5月前
|
运维 监控 Kubernetes
中间件故障转移自动切换
【7月更文挑战第25天】
46 2
|
5月前
|
运维 监控 算法
中间件故障转移故障检测
【7月更文挑战第25天】
54 1
|
5月前
|
分布式计算 监控 测试技术
建设云上稳定性问题之通过SLB转发和健康检查策略后,系统发布过程中的可用性有何改善
建设云上稳定性问题之通过SLB转发和健康检查策略后,系统发布过程中的可用性有何改善
|
6月前
|
负载均衡 算法 应用服务中间件
解密Nginx负载均衡:实现流量分发与故障转移
解密Nginx负载均衡:实现流量分发与故障转移
175 0
|
监控 容灾 安全
系统总出故障怎么办?
系统总出故障怎么办?
109 0
|
SQL 测试技术
一款流量审计设备压力测试操作
使用tcpreplay工具模拟镜像流量到审计设备,验证产品性能,使用工具重放h.pcap m.pcap l.pcap流量对设备测试
一款流量审计设备压力测试操作
|
网络安全 网络架构 开发者
网络稳定的第二道屏障: 带外网络DHCP异常排查方案
网络管理通常可分为带外管理(out-of-band)和带内管理(in-band)两种管理模式,带外网络是通过独立于数据网络之外的专用管理通道对机房网络设备(路由器、交换机、防火墙等)、服务器设备(小型机、服务器、工作站)以及机房电源系统进行集中化整合管理的网络集中管理系统。当企业网络建成后,网络上会传输各种企业的业务数据,如果业务网络出现问题,就需要通过带外网络来进行故障的排查,保障系统的稳定。
网络稳定的第二道屏障: 带外网络DHCP异常排查方案
|
监控 NoSQL 关系型数据库
可用性监控-先于客户知道您的应用挂了
任何服务都避免不了出现以下问题,你的用户访问不了你的服务或者站点,用户偶尔碰到5xx,服务响应延迟比较慢,某台应用进程挂掉,导致访问时好时坏。问题在于,你是否要等你的用户来告诉你,你的程序是问题了。
3050 0
|
监控 容器 关系型数据库
可用性监控-先于用户知道应用挂了
背景:任何服务都避免不了出现以下问题,你的用户访问不了你的服务或者站点,用户偶尔碰到5xx,服务响应延迟比较慢,某台应用进程挂掉,导致访问时好时坏。问题在于,_你是否要等你的用户来告诉你,你的程序是问题了_。
1853 0