如何将定制的ec2 监控报表放到 aws cloudwatch 上
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将定制的ec2 监控报表放到 aws cloudwatch 上相关的知识,希望对你有一定的参考价值。
参考技术A You can use a simple shell script with cron on EC2 node to collect and report memory utilization to CloudWatch as custommetrics.
First, you will need to get and configure CloudWatch command line tools.
Download
Amazon CloudWatch command line tools from here: http://aws.amazon.com/developertools/2534
http://ec2-downloads.s3.amazonaws.com/CloudWatch-2010-08-01.zip
Set up CloudWatch command line tools: http://docs.amazonwebservices.com/AmazonCloudWatch/latest/GettingStartedGuide/SetupCLI.html
Copy, paste, and if needed adjust the following bash script.
#################################################################
File: /home/ec2-user/memreport.sh
#!/bin/bash
export AWS_CLOUDWATCH_HOME=/home/ec2-user/CloudWatch-1.0.12.1
export AWS_CREDENTIAL_FILE=$AWS_CLOUDWATCH_HOME/credentials
export AWS_CLOUDWATCH_URL=https://monitoring.amazonaws.com
export PATH=$AWS_CLOUDWATCH_HOME/bin:$PATH
export JAVA_HOME=/usr/lib/jvm/jre
# get ec2 instance id
instanceid=`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id`
memtotal=`free -m | grep 'Mem' | tr -s ' ' | cut -d ' ' -f 2`
memfree=`free -m | grep 'buffers/cache' | tr -s ' ' | cut -d ' ' -f 4`
let "memused=100-memfree*100/memtotal"
freeStorageSpace='df -m|grep "/dev/xvda"|tr -s ' '|cut -d ' ' -f 4'
mon-put-data --metric-name
"FreeStorageSpace" --namespace "System/Linux" --dimensions "InstanceId=$instanceid" --value "$freeStorageSpace" --unit "Megabytes"
mon-put-data --metric-name
"FreeMemoryMBytes" --namespace "System/Linux" --dimensions "InstanceId=$instanceid" --value "$memfree" --unit "Megabytes"
mon-put-data --metric-name "UsedMemoryPercent" --namespace "System/Linux" --dimensions "InstanceId=$instanceid" --value
"$memused" --unit "Percent"
#################################################################
Now add invocation of this script to the crontab, e.g. call it every 5 minutes.
*/5 * * * * /home/ec2-user/memreport.sh本回答被提问者和网友采纳
AWS+OpsWorks:如何使用 OpsWorks 启用 EC2 实例的详细监控
【中文标题】AWS+OpsWorks:如何使用 OpsWorks 启用 EC2 实例的详细监控【英文标题】:AWS+OpsWorks: How to enable detailed monitoring for EC2 instance with OpsWorks 【发布时间】:2017-05-01 17:04:55 【问题描述】:有没有办法使用 OpsWorks 启用对 AWS EC2 实例的详细监控?我知道这可以通过云形成来完成,但我使用的是 OpsWorks。
对于投反对票的人。我做了谷歌并搜索了***的解决方案。在将这个问题发布到 stackoverlow 之前,我花了两个多星期的时间搜索和测试这个问题。这是我第一次使用 *** 提出问题,但没有意识到我必须添加此类信息。
【问题讨论】:
【参考方案1】:OpsWork 详细监控默认启用。
参考: http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ops-metricscollected.html
希望对您有所帮助.. :)
【讨论】:
谢谢。鉴于此,我看到我的 EC2 实例在使用 OpsWorks 创建后设置了“基本监控”。然后需要我单击 EC2 实例控制台中的“启用详细监控”。这不起作用,因为我需要以自动方式完成。【参考方案2】:Opsworks 默认情况下不启用详细监控。您可以使用厨师食谱作为设置的一部分来实现相同的目标
https://github.com/chef-cookbooks/aws#instance_monitoringrb
【讨论】:
以上是关于如何将定制的ec2 监控报表放到 aws cloudwatch 上的主要内容,如果未能解决你的问题,请参考以下文章
如何使用超时设置解决 AWS ELB/EC2 HTTP 503?