如何将定制的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 custom
metrics.

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 RDS 上使用数据存储? [关闭]

如何设计在 AWS 上运行的服务器监控系统

监控AWS EC2实例上的活动

如何使用超时设置解决 AWS ELB/EC2 HTTP 503?

grafana 设置 cloudwatch 监控 aws efs

如何管理aws云服务器