如您所知,Amazon AWS是开发云基础架构的好平台。 它应该涵盖整个IT基础设施所需的各个方面。 通过亚马逊AWS,您可以实现虚拟服务器,CDN,监控,性能提升,按需扩展,低成本存储,大数据等。
今天的重点是虚拟服务器实例(Amazon EC2)与服务器监控服务Cloud Watch之间的交互。
Cloudwatch是一个很好的工具,它提供了大量可以使用的参数,但是一个缺少的功能是没有任何参数可以让您监视实例分区上剩余的可用空间。
今天我将以简单的方式向您展示如何实现此检查,并在可用空间低于预定义级别时设置报警。
我将在这里使用基于Ubuntu的EC2实例。
Cloud Watch的安装和配置
首先,登录到要开始监视的实例,然后安装可能的挂起更新,如下所示:
apt-get update
apt-get upgrade
然后我们安装我们以后使用的脚本所需的一些库:
apt-get install libwww-perl libdatetime-perl
现在我们来看看Cloudwatch脚本安装的过程:
cd /opt/
wget http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip
unzip CloudWatchMonitoringScripts-1.2.1.zip
rm CloudWatchMonitoringScripts-1.2.1.zip
cd aws-scripts-mon
接下来,我们必须配置配置文件以启用对AWS基础设施的身份验证:
cp awscreds.template awscreds.conf
首先,您需要获取Amazon AWS Console的Access密钥和Secret Key。 如果您不知道从哪里获取这些参数,请按照下列步骤操作:登录到Amazon AWS控制台后,进入服务 - >所有AWS服务 - > IAM
或只需访问此链接https://console.aws.amazon.com / iam / home 。
现在去:
- 用户 - 选择所需的用户 - 单击用户操作 - 管理访问键 - 创建访问密钥
注意!!:您的秘密密钥将不再通过AWS管理控制台可用, 您将拥有唯一的副本!
现在我们必须编辑文件awscreds.conf文件来添加我们的凭据。
nano awscreds.conf
在文件中,我们添加以下参数:
AWSAccessKeyId=XXXXXXXXXXXXXXX AWSSecretKey=YYYYYYYYYYYYYYYYYY
现在保存并退出(ctrl + o)。
设置磁盘空间监视器
在下一步中,我们设置cronjob来更新文件系统使用情况统计信息。 在我的示例中,我每5分钟设置一次检查,您可以根据需要更改此参数。
nano /etc/cron.d/cloudwatch-monitor
并添加以下代码
*/5 * * * * root /opt/aws-scripts-mon/mon-put-instance-data.pl --disk-space-avail --disk-path=/ --disk-path=/var --from-cron chmod +x /etc/cron.d/cloudwatch-monitor /etc/init.d/cron restart
在我的情况下,我将监视根(/)文件系统和/ var的二级磁盘
现在,我们需要做的最后一件事就是在我们的实例中设置,就是在AWS中添加监视器。
登录到AWS控制台,然后转到服务 - >所有AWS服务 - > CloudWatch - >指标 - > Linux系统指标,
如果cronjob正常工作,您应该看到两个新的度量标准与“DiskSpaceAvailabe”,一个用于/和一个用于/ var。
现在您可以创建一个报警,只需选择新的公制。