Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何使用windows中的Cloud Watch监控AWS EC2的可用磁盘空间_Amazon Web Services_Monitoring_Amazon Cloudwatch - Fatal编程技术网

Amazon web services 如何使用windows中的Cloud Watch监控AWS EC2的可用磁盘空间

Amazon web services 如何使用windows中的Cloud Watch监控AWS EC2的可用磁盘空间,amazon-web-services,monitoring,amazon-cloudwatch,Amazon Web Services,Monitoring,Amazon Cloudwatch,我想发出警报,以防我的磁盘空间还剩下10% 我读了一些关于如何使用Cloud Watch监控可用磁盘空间的文章,但我认为这似乎只适用于linux 您有监控windows可用磁盘空间的解决方案吗 提前谢谢 下载最新的EC2Config并将其安装到windows实例() 在此处编辑设置文件C:\Program Files\Amazon\Ec2ConfigService\settings\AWS.EC2.Windows.CloudWatch.json 在适当的位置插入一些计数器 {

我想发出警报,以防我的磁盘空间还剩下10%

我读了一些关于如何使用Cloud Watch监控可用磁盘空间的文章,但我认为这似乎只适用于linux

您有监控windows可用磁盘空间的解决方案吗

提前谢谢

  • 下载最新的EC2Config并将其安装到windows实例()
  • 在此处编辑设置文件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策略权限的用户的密钥和机密

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

  • 这是如何配置Windows 2016 EC2实例以报告可用磁盘空间(或服务器上的任何其他性能计数器)

    • 下载一个示例
      AWS.EC2.Windows.CloudWatch.json
      文件。我就是在这里找到的。

    • 在此处复制Windows Server 2016 EC2实例上的示例AWS.EC2.Windows.CloudWatch.json文件
      C:\ProgramFiles\Amazon\SSM\Plugins\awsCloudWatch\

    • 编辑AWS.EC2.Windows.CloudWatch.json并将IsEnabled设置为true

    • 根据需要添加其他指标。配置中有一个内存使用的示例。复制/粘贴此项并更改度量名称,如下所示:

    • 以管理员身份运行Powershell并运行
      重新启动服务AmazonsAgent

    • 新的CloudWatch指标几乎立即出现在AWS CloudWatch中

    • 根据需要配置AWS CloudWatch警报

    此外,我还制作了一个简短视频,介绍了在Windows Server 2016上设置此功能的一些技巧

    以下AWS指南包含一个分步指南。

    在Windows EC2实例中(在服务器2019上测试) 根据您的实例类型下载并安装CloudWatch代理

    在此之后,您将注意到一个名为Amazon CloudWatch代理的新服务:在您配置它之前,它不会启动

    要配置该向导,请运行位于C:\Program Files\Amazon\AmazonCloudWatch代理\Amazon cloudwatch代理配置向导.exe的向导

    回答所有问题(您可以跳过日志分析并选择免费存储百分比的基本指标),最终将在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我!配置已被翻译成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我!已启用标记:主机=[您的主机] 2020-05-27T14:11:31Z我!代理配置:间隔:1ms,安静:false, 主机名:[您的主机],刷新间隔:1s 2020-05-27T14:11:31Z I! cloudwatch:使用ForceFlushinInterval发布:1ms,发布抖动:23s 2020-05-27T14:11:31Z我!已在以下位置启动statsd服务:8125 2020-05-27T14:11:31Z我!Statsd侦听器正在侦听:[:]:8125

    …只要您已将IAM角色附加到实例以授予其向cloudwatch报告的权限,一切都会顺利进行

    见此:


    然后,您可以在Cloudwatch的CWAgent参数部分找到所有新定义的指标,这样您就可以创建一个警报了。我认为基本问题是如何在Cloudwatch for Windows实例中设置磁盘利用率警报。我希望您知道,要在CloudWatch中获得磁盘指标,您需要安装CloudWatch代理,这涉及到前面提到的多个步骤。我们从AWS CloudWatch代理获得Windows实例的可用空间百分比。因此,要设置高磁盘利用率警报,我们需要选择低于或等于10%的警报条件,或根据您的要求选择警报条件。我希望这能回答您的问题。

    您可以阅读并@FrédéricHenri,第一个链接是关于CloudWatch日志的,而不是关于指标的。您将如何使用它监控可用磁盘空间?在第二个链接中,我也看不到任何有关磁盘空间监视的内容。请阅读有关性能计数器的部分:“除了日志数据,您还可以将Windows性能计数器作为自定义指标发送到CloudWatch。这使得可以从实例内部监控特定的性能指标,并允许您基于此数据创建警报。”“为此添加一个额外的性能计数器–实例上C驱动器上可用的可用空间量“它会将这些指标发送到cloud Watch。您可以通过这种方式安装SCOCollector并收集主机指标,除非您特别希望在CloudWatch中使用这些磁盘指标?您可以使用CloudWatch代理,请检查以下答案:我已经发布了一个与此相关的问题。请检查一下。[你好,Simon,我一直在看一些其他帖子,刚刚看了你的链接视频。你是否需要调整访问/IAM角色设置来报告这些指标?例如,创建IAM用户并将访问/密钥添加到“CloudWatch”在您提到的JSON中?@user3577502我不知道任何配置IAM的要求。即使对于Linux ami,这会收集每个磁盘的指标,还是聚合每个磁盘的指标
    {
        "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}"
        }
    }