我希望监控cloudwatch
中AWS
下特定流程使用的内存。我必须使用脚本吗?如果是,请告诉我相关步骤或指南,或者我可以使用cloudwatch logs
实时报告特定流程使用的内存吗?告诉我其他替代方案。
答案 0 :(得分:11)
是的,您需要一个在要监视的实例上运行的脚本。 Cloudwatch默认情况下只能报告它可以查看的内容。在虚拟机管理程序级别,而不是“内部”的内容,因此您需要创建和报告自定义指标。
以下是一些Linux脚本指针: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html
和一些Windows: http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts-powershell.html
答案 1 :(得分:1)
将此文件放在您用于app app的s3存储桶的.ebextensions文件夹中名为001initial.config的文件中。这将安装监视并将其设置为cron作业。 请注意已安装的perl模块。 你想要ssh到你的盒子里测试脚本是否正在运行。
进入安全性并使用CloudWatch权限为您的ec2实例更新您的iam角色。确保选中该角色的复选框,然后单击它以转到权限页面。
一旦您知道监控正在运行,请转到云监控页面,然后从System / Linux中的第一个页面键入并搜索它,它将显示磁盘和内存统计信息。
---
files:
"/etc/cron.d/my_cron":
mode: "000644"
owner: root
group: root
content: |
# run a cloudwatch command every five minutes (as ec2-user)
*/5 * * * * ec2-user ~/aws-scripts-mon/mon-put-instance-data.pl --mem-util --mem-used --mem-avail --disk-space-util --disk-path=/ --from-cron
encoding: plain
commands:
# delete backup file created by Elastic Beanstalk
clear_cron_backup:
command: rm -f /etc/cron.d/watson.bak
container_commands:
02download:
command: "curl http://aws-cloudwatch.s3.amazonaws.com/downloads/CloudWatchMonitoringScripts-1.2.1.zip -O"
ignoreErrors: true
03extract:
command: "unzip CloudWatchMonitoringScripts-1.2.1.zip"
ignoreErrors: true
04rmzip:
command: "rm rm CloudWatchMonitoringScripts-1.2.1.zip"
ignoreErrors: true
05cdinto:
command: "mv aws-scripts-mon/ /home/ec2-user"
ignoreErrors: true
packages:
yum:
perl-Switch : []
perl-URI: []
perl-Bundle-LWP: []
perl-DateTime: []
perl-Sys-Syslog: []
perl-LWP-Protocol-https: []
答案 2 :(得分:0)
虽然@EJBrennan在他的回答中提供的理由是正确的,这个问题的最新更新是简单地安装AWS的优秀文档中提供的脚本
AWS Documentation for Memory & Disk Metrics
所以你需要
./mon-put-instance-data.pl --mem-util --mem-used-incl-cache-buff --mem-used --mem-avail
或者,您也可以设置cron作业以定期获取指标。
希望有所帮助