我希望在磁盘空间剩余10%的情况下发出警报。
我阅读了一些关于如何使用Cloud Watch监控可用磁盘空间的文章,但我认为它似乎只适用于Linux。
您是否有任何监控Windows可用磁盘空间的解决方案?
提前致谢。
答案 0 :(得分:7)
这是如何配置Windows 2016 EC2实例以报告可用磁盘空间(或服务器上的任何其他性能计数器)
下载示例AWS.EC2.Windows.CloudWatch.json
文件。这是我找到的地方。
https://s3.amazonaws.com/ec2-downloads-windows/CloudWatchConfig/AWS.EC2.Windows.CloudWatch.json
在此处复制Windows Server 2016 EC2实例上的示例AWS.EC2.Windows.CloudWatch.json文件
C:\Program Files\Amazon\SSM\Plugins\awsCloudWatch\
编辑AWS.EC2.Windows.CloudWatch.json并将IsEnabled设为true
根据需要添加其他指标。配置中有一个样本用于内存使用。复制/粘贴此内容并更改度量标准名称,如下所示:
{
"Id": "PerformanceCounterDisk",
"FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"CategoryName": "LogicalDisk",
"CounterName": "% Free Space",
"InstanceName": "C:",
"MetricName": "FreeDiskPercentage",
"Unit": "Percent",
"DimensionName": "InstanceId",
"DimensionValue": "{instance_id}"
}
}
以管理员身份运行Powershell并运行
Restart-Service AmazonSSMAgent
新的CloudWatch指标几乎立即出现在AWS CloudWatch中。
根据需要配置AWS CloudWatch警报。
此外,我制作了一个简短视频,其中提供了有关在Windows Server 2016上进行此设置的一些提示。
https://www.youtube.com/watch?v=xKVrJJyG-4I
AWS的以下指南包含分步指南。 http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/send_logs_to_cwl_instances.html#send_logs_cwl_configfile
答案 1 :(得分:6)
在适当的地方插入一些计数器
{
"Id": "PerformanceCounterMemory",
"FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"CategoryName": "Memory",
"CounterName": "Available MBytes",
"InstanceName": "",
"MetricName": "Available-Memory",
"Unit": "Gigabytes",
"DimensionName": "InstanceId",
"DimensionValue": "{instance_id}"
}
},
{
"Id": "PerformanceCounterDisk",
"FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"CategoryName": "LogicalDisk",
"CounterName": "% Free Space",
"InstanceName": "C:",
"MetricName": "FreeDiskPct",
"Unit": "Percent",
"DimensionName": "InstanceId",
"DimensionValue": "{instance_id}"
}
}
确保将它们包含在流程部分中:
"Flows": {
"Flows":
[
"(ApplicationEventLog,SystemEventLog),CloudWatchLogs",
"(PerformanceCounterMemory,PerformanceCounterDisk),CloudWatch"
]
}
请记住使用cloudwatch政策权限设置用户的密钥和密码。
答案 2 :(得分:1)
在Windows EC2实例中(在Server 2019上测试) 根据您的实例类型下载并安装CloudWatch Agent。
AWS CloudWatch Agent Installation
在那之后,您会注意到一项名为Amazon CloudWatch Agent的新服务:直到您对其进行配置后,它才能启动。
要配置运行位于 C:\ Program Files \ Amazon \ AmazonCloudWatchAgent \ amazon-cloudwatch-agent-config-wizard.exe的向导的向导
回答所有问题(您可以跳过日志分析和选择Basic指标获取免费存储百分比),最终将在 C:\ Program Files \ Amazon \ AmazonCloudWatchAgent 中创建一个名为config.json的文件。
将此文件移动到 C:\ ProgramData \ Amazon \ AmazonCloudWatchAgent ,将其重命名为 amazon-cloudwatch-agent.json 并启动服务Cloudwatch Agent。
该服务应启动并收集指标,检查日志以查看是否存在任何错误
如果在位于 C:\ ProgramData \ Amazon \ AmazonCloudWatchAgent \ Logs 的日志中,您将看到此...
2020/05/27 16:11:27我! Config已经翻译成TOML C:\ ProgramData \ Amazon \ AmazonCloudWatchAgent \ amazon-cloudwatch-agent.toml 2020-05-27T14:11:31Z我! cloudwatch:获得唯一的汇总列表[] 2020-05-27T14:11:31Z我!启动AmazonCloudWatchAgent 2020-05-27T14:11:31Z我!启用的标签:host = [您的主机] 2020-05-27T14:11:31Z我!代理配置:间隔:1m0s,安静:false, 主机名:[您的主机],刷新间隔:1s 2020-05-27T14:11:31Z我! cloudwatch:使用ForceFlush发布间隔:1m0s,发布抖动:23s 2020-05-27T14:11:31Z我!在:8125开始了statsd服务 2020-05-27T14:11:31Z我! Statsd监听器正在监听:[::]:8125
...一切顺利,只要您已将IAM角色附加到您的实例,以授予它向Cloudwatch报告的权限。
然后,您可以在Cloudwatch的CWAgent Parameters部分找到所有新定义的指标,以便创建警报
答案 3 :(得分:0)
我认为基本问题是在 CloudWatch for Windows 实例中设置磁盘利用率警报。我希望您知道要在 CloudWatch 中获取磁盘指标,您需要安装 CloudWatch 代理,这涉及上面人们已经提到的多个步骤。我们从 AWS CloudWatch 代理获取 Windows 实例的可用空间百分比。所以要设置高磁盘利用率警报,我们需要选择警报条件低于或等于 10% 或根据您的要求。我希望这能回答您的问题。alarm condition for windows disk
答案 4 :(得分:-1)
以下链接可能会有所帮助。它基于使用Python的简单API。因此,基本上您不需要为此安装任何其他软件。在这种情况下,拥有适当的防火墙可能就足够了。 https://www.shubhamdipt.com/blog/how-to-monitor-disk-space-and-performance-of-your-servers