亚马逊云 EC2 的监控
默认监控
一般提到服务器的监控,都是看 CPU,内存,磁盘的占用率这几个参数。同样对于云上 EC2 也是如此,EC2 服务提供了一个监控界面可以监控各个指标,这个甚至不要进入到操作系统中执行指令就可以看见,常见的有:
CPU 使用率:监控 EC2 的 CPU 占用率(虚拟机级别的)
网络吞吐量:EC2 的网络 IO 吞吐量和数据包个数
磁盘吞吐量:Disk IO 吞吐量和 IOPS
CPU 积分:(如果该实例类型有 brust,没有突增或者无限积分可以忽略这个指标)
与自建服务器常规指标不同的是,这个还增加了系统健康检查失败和实例健康检查失败的指标,系统健康检查失败说明云服务器底层硬件出现了问题影响网络通信,实例健康检查失败说明实例系统内部出现了问题导致网卡无法响应 ARP 请求(CPU 打满,OOM 等)。在正常情况下这两个参数数值应该是 0,如果出现了波动说明 EC2 出现了问题,需要尽快进行排查。以上指标都可以作为自动拓展的或者监控警报的条件。根据不同的指标有最大,最小,平均和总计四个维度的统计,也可以调整指标的查看周期,这个时间理论上可以从一秒到无限时间。
增强监控
默认的是基本监控,每五分钟采集一个指标,基本监控是免费的,如果想要更细粒度的监控,可以开启增强监控来查看一分钟的监控聚合指标,这样能很好的避免由于监控不能及时检测变动导致未能及时捕获警报的情况。
自定义指标
需要注意的是,默认监控和增强监控看不到实例内部的信息,换句话说看不到内存和磁盘占用率的相关信息,更多的监控需要安装 Cloudwatch Agent,这样可以在操作系统内部收集信息发送到云端,操作如下:
ubuntu 安装:
Centos 安装:
当然,如果可以的话,也可以自定义指标然后使用 API/SDK 进行发布,从某种程度上来讲,cloudwatch agent 也算是集成好的自定义指标,相当于亚马逊云用 SSM agent 整理了常见一些指标,然后整合发布了一个软件。
如果使用 CLI 来发布自定义指标的话,命令是:
然后可以在 cloudwatch 控制台来查看效果,发现已经可以成功上传。
参考:
EC2 基本监控:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/monitoring_ec2.html
下载 Cloudwatch agent:https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/download-cloudwatch-agent-commandline.html
Cloudwatch agent 配置文件: https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file.html
自定义指标:https://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/publishingMetrics.html
版权声明: 本文为 InfoQ 作者【孤虹】的原创文章。
原文链接:【http://xie.infoq.cn/article/486b3ac23dc6ea53e0f5bdc57】。文章转载请联系作者。
评论