3

通过创建自定义 CloudWatch 指标可以做什么?阅读文档后,我无法理解在 CloudWatch 中创建自定义指标的想法。

我创建了一个新指标:

mon-put-data --metric-name MyMetric --namespace "MyService" --value 2 --timestamp 2011-03-14T12:00:00.000Z  

我可以从这个指标中得到什么?我无法理解自定义指标。

4

3 回答 3

6

使用自定义指标的一个常见案例和示例是关于实例内存报告。

网络上有几个关于自定义 CloudWatch 指标的代码。我发现这对亚马逊论坛非常有用。

#!/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"

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"

来源:https ://forums.aws.amazon.com/message.jspa?messageID=266893

于 2013-06-11T09:19:39.373 回答
5

Amazon CloudWatch 提供可靠、可扩展且灵活的监控解决方案,您可以在几分钟内开始使用。您不再需要设置、管理或扩展您自己的监控系统和基础架构。使用 Amazon CloudWatch,您可以根据需要轻松监控尽可能多或尽可能少的指标数据。Amazon CloudWatch 允许您以编程方式检索监控数据、查看图表和设置警报,以帮助您根据云环境的状态进行故障排除、发现趋势并采取自动化措施。

这是一项与其他 Amazon Web Services 一样的 Web 服务。您可以通过 API 和控制台使用它。您还可以将其与其他服务集成,例如简单通知服务 (SNS),甚至自动扩展您的实例。

自定义指标机制的想法是允许您将 AWS 提供的内置指标扩展到 AWS 无法访问的指标(例如您的内存和磁盘状态),或者与您的业务相关的指标(大小购买,用户人口统计...)。

CloudWatch 是一种可扩展且可靠的服务,您无需安装或管理。

另一个重要功能是能够为您的指标设置警报。例如,您可以在达到指标阈值时向您发送电子邮件(例如,您一天卖出了 1,000 多件商品)。

现在,随着 Lambda 的加入,您拥有更多使用 CloudWatch 指标和警报的选项。您可以为 Lambda 函数订阅基于自定义指标的警报,并自动实时响应此类事件。有关在弹性容器服务 (ECS) 中自动扩展 Docker 环境的示例,请参见此处:https ://aws.amazon.com/blogs/compute/scaling-amazon-ecs-services-automatically-using-amazon-cloudwatch-and -aws-lambda/

于 2013-06-10T18:18:27.530 回答
3

CloudWatch 的想法是从运行的云资源(服务器、应用程序、数据库等)中收集指标,并在其他资源之间共享这些信息,以便让他们做出决策。例如,您的应用程序可能会产生以下指标:

  • 内存队列的大小
  • 可用于 JVM 的内存
  • 可用于缓存的磁盘空间
  • 当前活跃的用户
  • 每分钟交易
  • 每小时销售额

在极端情况下,您甚至可以使用 CloudWatch 重现 Google Analytics。它是一种方便的工具来收集和分发统计数据。

于 2013-06-10T10:19:44.110 回答