如何使用Windows中的Cloud Watch监控AWS EC2上的可用磁盘空间

问题描述 投票:6回答:2

我希望在我的磁盘空间中剩余10%的情况下发出警报。

我阅读了一些关于如何使用Cloud Watch监控可用磁盘空间的文章,但我认为它似乎仅适用于Linux。

您是否有任何监控Windows可用磁盘空间的解决方案?

提前致谢。

amazon-web-services monitoring amazon-cloudwatch
2个回答
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


6
投票
  1. 下载并安装最新的EC2Config到您的Windows实例(https://aws.amazon.com/developertools/5562082477397515
  2. 在此处编辑设置文件C:\ Program Files \ Amazon \ Ec2ConfigService \ Settings \ AWS.EC2.Windows.CloudWatch.json

在适当的位置插入一些计数器

    {    
        "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策略权限设置用户的密钥和密钥。

  1. 重新启动EC2Config服务。跟踪日志中的进度:C:\ Program Files \ Amazon \ Ec2ConfigService \ Logs \ Ec2ConfigLog.txt
  2. 在新的FreeDiskPct计数器上在cloudwatch中创建警报。

-1
投票

以下链接可能有所帮助。它基于使用Python的简单API。所以基本上你不需要为此安装任何其他软件。在这种情况下,拥有适当的防火墙可能就足够了。 https://www.shubhamdipt.com/blog/how-to-monitor-disk-space-and-performance-of-your-servers

© www.soinside.com 2019 - 2024. All rights reserved.