【问题标题】:Unable to monitor Amazon Linux memory with buffers and cache using Amazon CloudWatch Monitoring Scripts无法使用 Amazon CloudWatch 监控脚本监控带有缓冲区和缓存的 Amazon Linux 内存
【发布时间】:2018-01-04 04:00:03
【问题描述】:

我按照本文http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html#mon-scripts-systems 中的步骤监控我的服务器的内存使用情况并将数据提交到 CloudWatch。

可以使用的指标之一是--mem-used-incl-cache-buff,它收集并发送 MemoryUsed 指标,以兆字节为单位报告。此选项报告用于缓​​存和缓冲区,以及应用程序和操作系统分配的内存。与其他内存指标相比,此内存指标很重要,因为此指标也收集缓存和缓冲区中使用的内存。其他内存指标只是收集freeused 内存以确定我的服务器是否内存不足。

不幸的是,这是我尝试运行脚本时的输出:

[root@ip-172-31-10-167 ~]# ~/aws-scripts-mon/mon-put-instance-data.pl --mem-used-incl-cache-buff --verify --verbose

ERROR: No metrics specified for collection and submission to CloudWatch.

For more information, run 'mon-put-instance-data.pl --help'

我已遵循文档中的先决条件,以确保首先安装所有必需的工具。我错过了什么?

【问题讨论】:

    标签: linux amazon-web-services amazon-cloudwatch amazon-linux


    【解决方案1】:

    我认为你需要的是:

    ~/aws-scripts-mon/mon-put-instance-data.pl --mem-used-incl-cache-buff --mem-used
    

    --mem-used 标志将告诉脚本您希望使用内存,--mem-used-incl-cache-buff 告诉它包括缓存和缓冲区。

    要验证这一点,您可以运行以下 2 个命令并比较输出:

    ~/aws-scripts-mon/mon-put-instance-data.pl --mem-used --verify --verbose
    ~/aws-scripts-mon/mon-put-instance-data.pl --mem-used-incl-cache-buff --mem-used --verify --verbose
    

    【讨论】:

      【解决方案2】:

      我在我的自定义指标中使用它。正如@Tartaglia 所提到的,您需要启用mem-used 开关来报告内存统计信息。您可以查看Perl 脚本并了解它是如何计算的。

      没有缓冲区和缓存:

      mon-put-instance-data.pl --mem-used
      

      输出:

      Payload:{"MetricData":[{"MetricName":"MemoryUsed","Unit":"Megabytes","Value":4915.6640625,"Timestamp":1501356451}
      

      使用缓冲区和缓存:

      mon-put-instance-data.pl --mem-used-incl-cache-buff --mem-used
      

      输出:

      Payload:{"MetricData":[{"MetricName":"MemoryUsed","Unit":"Megabytes","Value":5690.55078125,"Timestamp":1501356486}
      

      【讨论】:

        【解决方案3】:

        试试这样的:

        如果您想发送自定义数据

        /usr/local/bin/aws cloudwatch put-metric-data \
          --namespace "TomcatOpenFiles" \
          --dimensions INSTANCE_ID="`curl -s http://169.254.169.254/latest/meta-data/instance-id`" \
          --metric-name "TomcatOpenFiles" \
          --value $Tomcat_Openfiles \
          --region ap-south-1
        

        注意:169.254.169.254 是您可以检索实例元数据的位置as documented here

        如果您想发送 AWS 定义的数据

        /opt/aws-scripts-mon/mon-put-instance-data.pl \
          --mem-util \
          --mem-used \
          --mem-avail \
          --disk-space-util \
          --disk-space-used \
          --disk-space-avail \
          --memory-units=gigabytes \
          --disk-space-units=gigabytes \
          --disk-path=/ \
          --from-cron
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-11-29
          • 1970-01-01
          • 2023-04-03
          • 2012-05-10
          • 2015-06-29
          • 2011-05-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多