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

Mis*_*sky 9 monitoring amazon-web-services amazon-cloudwatch

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

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

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

提前致谢.

Sim*_*son 11

这是如何配置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}"
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 以管理员身份运行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


Inv*_*oft 8

  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}"
        }
    }
Run Code Online (Sandbox Code Playgroud)

确保将它们包含在流程部分中:

"Flows": {
            "Flows": 
            [
                "(ApplicationEventLog,SystemEventLog),CloudWatchLogs",
                "(PerformanceCounterMemory,PerformanceCounterDisk),CloudWatch"
            ]
        }
Run Code Online (Sandbox Code Playgroud)

请记住使用cloudwatch策略权限设置用户的密钥和密钥.

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