AWS CloudWatch
假设你是一家咖啡厅的老板,你已经租好店面,完成装修,购齐了需要的设备,并且雇到了员工,咖啡厅已经开始正常营业了。除了每天给顾客制作美味可口的咖啡之外,为了维持咖啡厅的正常运作,还需要做哪些事情呢?没错,你还需要了解设备是否工作正常,是否需要清洗;咖啡豆是否充足等。
同样的,对于部署在 AWS 上的资源和应用,你也需要知道它们的运行情况,是否有你值得注意并解决的问题。Amazon CloudWatch 就是这样一个提供对 AWS 上的资源,服务及应用进行监控的 Web 服务。它主要包括如下三个功能:
监控资源和应用的性能 - 典型应用场景如与 Auto-scaling group 配合使用,基于对 EC instance 的 CPU 占用率指标(metric)进行监控,可随着业务处理需求的变化相应地增加或减少 EC2 instance,即实现动态伸缩(scalability)。
收集并查看日志 - 典型使用场景如 VPC flow logs,可以用来检查进出 VPC、子网和网络接口的网络流量历史记录。
告警通知 - 典型使用场景如创建 billing alarms,可以在 AWS 账户计费账单超出预设值时,触发告警通知。
作为解决方案架构师或者合作伙伴,有必要了解以下几个概念,以指导用户更为高效地使用 CloudWatch。
仪表板(Dashboard)
CloudWatch 提供了直观的可视化仪表板,如下图所示:
你可以通过仪表板做到单点访问查看配置的监控指标。例如 EC2 instance 的 CPU 利用率、S3 存储桶的被访问次数等。
指标(Metric)
指标是反映资源或者应用某项参数的变量。例如 EC2 instance 的 CPU 利用率,S3 存储桶的被访问次数等。AWS 各个服务将这些指标发送给 CloudWatch,CloudWatch 能够根据收集到的指标自动创建图表以反映系统性能随着时间如何变化。CloudWatch 的指标有两种:AWS 预定义指标和用户自定义指标。
告警(Alarm)
在 CloudWatch 里,你可以设置当某项指标超过一定阈值时触发告警,并是否自动做出响应。例如由 EC2 instance 指标产生的告警,可以暂停或终止实列;你设置还可以将告警和 SNS(Simple Notification Service)相结合使用,以创造出更多定制化的应用场景,例如当账单超过预算值时,创建告警并发送通知到指定的 SNS topic,以便该问题能够被及时处理。
如果觉得这篇文章写得还不错,请帮忙点个赞哦!O(∩_∩)O
评论