0

我按照本文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'

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

4

3 回答 3

3

我认为你需要的是:

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

--mem-usedflag 将告诉脚本您想要使用内存并--mem-used-incl-cache-buff告诉它包含缓存和缓冲区。

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

~/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
于 2017-07-29T08:23:05.253 回答
0

我在我的自定义指标中使用它。正如@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}
于 2017-07-29T19:37:43.180 回答
-1

尝试这样的事情:

如果您想发送自定义数据

/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您可以在此处检索实例元数据,如此处所述

如果您想发送 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
于 2017-07-28T08:15:09.540 回答