如何监控AWS Cloudwatch中特定进程使用的内存?

时间:2014-12-18 08:42:42

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

我希望监控cloudwatchAWS下特定流程使用的内存。我必须使用脚本吗?如果是,请告诉我相关步骤或指南,或者我可以使用cloudwatch logs实时报告特定流程使用的内存吗?告诉我其他替代方案。

3 个答案:

答案 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

所以你需要

  1. 在EC2服务器中安装脚本
  2. 使用./mon-put-instance-data.pl --mem-util --mem-used-incl-cache-buff --mem-used --mem-avail
  3. 将日志发送到Cloudwatch
  4. 在云监视器中设置信息中心以查看指标。
  5. 或者,您也可以设置cron作业以定期获取指标。

    希望有所帮助