“可监控、可灰度、可回滚” 据说是阿里集团内部有关系统稳定性的“三板斧”,作为第一步的“可监控”自然是所有业务条线的一项“刚需”,那么到底如何实现“可监控”就让我们从阿里云的现有监控服务产品中来一窥究竟吧。
阿里云目前有两大监控服务体系,一个是偏向于云基础架构侧的“云监控”、一个是偏向于应用侧的“应用实时监控”,这次就让我们先来了解一下云监控。
云监控的监控能力主要覆盖如下方面:
- 主机监控、用于最普遍的阿里云服务ECS的监控,主要监控CPU、内存、网络和存储IO的各项指标,也能够对系统内的关键进程进行监控,例如对ECS上运行的MySQL进程进行监控。
- 云产品监控、就像云主机一样,绝大部分的阿里云产品都接入了云监控的体系中,例如SLB监控,能够对负载均衡的并发连接数、后端ECS的异常和健康数量、七层负载均衡的QPS数、各种HTTP状态码的统计等进行监控、再例如RDS的监控能够对RDS服务的各项子服务、网络使用情况、实例的性能和SQL执行信息等进行监控。
- 站点监控、通过分布在全球各地的阿里云数据中心对目标站点发起模拟的探测访问,探测的对象可以是任意域名和IP地址、探测的内容包括端口的联通性、访问的响应时间等,支持的协议包括HTTP/HTTPS、PING、TCP、UDP、DNS、SMTP、POP3、FTP。
- 自定义监控、可以通过云监控的上报数据接口将任意业务指标上报至云监控,云监控的上报数据方式包括:通过发送HTTP请求上报、通过Java SDK上报、通过命令行上报。
- 容器监控、Kubernetes已经成为了云原生的事实标准,因此和ECS一样云监控也将面向Kubernetes的容器监控从其他云服务监控中单列了出来。假如您使用了阿里云的ACK服务则可以使用容器监控对k8s集群、节点、命名空间、应用和容器组的各项指标进行监控。
除了被动对云服务的监控外,云监控还能将监控信息和云服务对接并主动干预云服务的行为,例如对于阿里云的ESS弹性伸缩服务来说,可以通过对接云监控实现对当下负载的感知并自动触发伸缩任务。
当指标异常时,云监控支持通过电话、短信、旺旺、邮件、钉钉机器人、阿里云App等多种方式进行报警信息的推送,例如可以通过设置钉钉机器人来将报警信息发送到群聊,一次性通知多人进行处理。
这次我们聊了一下云监控,下次我们再来了解一下应用实时监控。